| |
| |
| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| |
| |
| |
| |
| <title>Sensor API — Apache Mynewt latest documentation</title> |
| |
| |
| |
| |
| <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/> |
| |
| |
| |
| |
| <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" /> |
| |
| |
| <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" /> |
| |
| <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" /> |
| |
| <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" /> |
| |
| <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" /> |
| |
| <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" /> |
| |
| |
| |
| |
| <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" /> |
| <link rel="index" title="Index" |
| href="../../../genindex.html"/> |
| <link rel="search" title="Search" href="../../../search.html"/> |
| <link rel="top" title="Apache Mynewt latest documentation" href="../../../index.html"/> |
| <link rel="up" title="Mynewt Sensor Framework Overview" href="sensor_framework.html"/> |
| <link rel="next" title="Sensor Manager API" href="sensor_mgr_api.html"/> |
| <link rel="prev" title="Mynewt Sensor Framework Overview" href="sensor_framework.html"/> |
| |
| |
| <script src="../../../_static/js/modernizr.min.js"></script> |
| |
| |
| <script> |
| (function(i, s, o, g, r, a, m) { |
| i["GoogleAnalyticsObject"] = r; |
| (i[r] = |
| i[r] || |
| function() { |
| (i[r].q = i[r].q || []).push(arguments); |
| }), |
| (i[r].l = 1 * new Date()); |
| (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]); |
| a.async = 1; |
| a.src = g; |
| m.parentNode.insertBefore(a, m); |
| })(window, document, "script", "//www.google-analytics.com/analytics.js", "ga"); |
| |
| ga("create", "UA-72162311-1", "auto"); |
| ga("send", "pageview"); |
| </script> |
| |
| |
| </head> |
| |
| <body class="not-front page-documentation" role="document" > |
| <div id="wrapper"> |
| <div class="container"> |
| <div id="banner" class="row v2-main-banner"> |
| <a class="logo-cell" href="/"> |
| <img class="logo" src="../../../_static/img/logo.png"> |
| </a> |
| <div class="tagline-cell"> |
| <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4> |
| </div> |
| <div class="news-cell"> |
| <div class="well"> |
| <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released April 4, 2024) |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <header> |
| <nav id="navbar" class="navbar navbar-inverse" role="navigation"> |
| <div class="container"> |
| <!-- Collapsed navigation --> |
| <div class="navbar-header"> |
| <!-- Expander button --> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| |
| </div> |
| |
| <!-- Expanded navigation --> |
| <div class="navbar-collapse collapse"> |
| <!-- Main navigation --> |
| <ul class="nav navbar-nav navbar-right"> |
| <li> |
| <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a> |
| </li> |
| <li class="important"> |
| <a href="/quick-start/">Quick Start</a> |
| </li> |
| <li> |
| <a href="/about/">About</a> |
| </li> |
| <li> |
| <a href="/talks/">Talks</a> |
| </li> |
| <li class="active"> |
| <a href="/documentation/">Documentation</a> |
| </li> |
| <li> |
| <a href="/download/">Download</a> |
| </li> |
| <li> |
| <a href="/community/">Community</a> |
| </li> |
| <li> |
| <a href="/events/">Events</a> |
| </li> |
| </ul> |
| |
| <!-- Search, Navigation and Repo links --> |
| <ul class="nav navbar-nav navbar-right"> |
| |
| </ul> |
| </div> |
| </div> |
| </nav> |
| </header> |
| <!-- STARTS MAIN CONTENT --> |
| <div id="main-content"> |
| |
| |
| |
| |
| |
| |
| <div id="breadcrumb"> |
| <div class="container"> |
| <a href="/documentation/">Docs</a> / |
| |
| <a href="../../os_user_guide.html">OS User Guide</a> / |
| |
| <a href="sensor_framework.html">Mynewt Sensor Framework Overview</a> / |
| |
| Sensor API |
| |
| <div class="sourcelink"> |
| <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_api.rst" class="icon icon-github" |
| rel="nofollow"> Edit on GitHub</a> |
| </div> |
| </div> |
| </div> |
| <!-- STARTS CONTAINER --> |
| <div class="container"> |
| <!-- STARTS .content --> |
| <div id="content" class="row"> |
| |
| <!-- STARTS .container-sidebar --> |
| <div class="container-sidebar col-xs-12 col-sm-3"> |
| <div id="docSidebar" class="sticky-container"> |
| <div role="search" class="sphinx-search"> |
| <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get"> |
| <input type="text" name="q" placeholder="Search documentation" class="search-documentation" /> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </form> |
| </div> |
| <!-- Note: only works when deployed --> |
| <select class="form-control" onchange="if (this.value) window.location.href=this.value"> |
| <option value="/latest" selected> |
| Version: latest |
| </option> |
| <option value="/v1_12_0" > |
| Version: 1.12.0 |
| </option> |
| <option value="/v1_11_0" > |
| Version: 1.11.0 |
| </option> |
| <option value="/v1_10_0" > |
| Version: 1.10.0 |
| </option> |
| <option value="/v1_9_0" > |
| Version: 1.9.0 |
| </option> |
| <option value="/v1_8_0" > |
| Version: 1.8.0 |
| </option> |
| <option value="/v1_7_0" > |
| Version: 1.7.0 |
| </option> |
| <option value="/v1_6_0" > |
| Version: 1.6.0 |
| </option> |
| <option value="/v1_5_0" selected="selected" > |
| Version: 1.5.0 |
| </option> |
| <option value="/v1_4_0" > |
| Version: 1.4.0 |
| </option> |
| <option value="/v1_3_0/os/introduction" > |
| Version: 1.3.0 |
| </option> |
| <option value="/v1_2_0/os/introduction" > |
| Version: 1.2.0 |
| </option> |
| <option value="/v1_1_0/os/introduction" > |
| Version: 1.1.0 |
| </option> |
| <option value="/v1_0_0/os/introduction" > |
| Version: 1.0.0 |
| </option> |
| <option value="/v0_9_0/os/introduction" > |
| Version: 0.9.0 |
| </option> |
| </select> |
| <div class="region region-sidebar"> |
| <div class="docs-menu"> |
| |
| |
| |
| <ul class="current"> |
| <li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup & Get Started</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../external_links.html">Third-party Resources</a></li> |
| <li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current"> |
| <li class="toctree-l2"><a class="reference internal" href="../../core_os/mynewt_os.html">Kernel</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../system_modules.html">System</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../hal/hal.html">Hardware Abstraction</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../bootloader/bootloader.html">Secure Bootloader</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../split/split.html">Split Images</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../../core_os/porting/port_os.html">Porting Guide</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../baselibc.html">Baselibc</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../drivers/driver.html">Drivers</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../devmgmt/newtmgr.html">Device Management with Newt Manager</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../imgmgr/imgmgr.html">Image Manager</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../sysinitconfig/sysinitconfig.html">Compile-Time Configuration</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../fs/fs.html">File System</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../fcb/fcb.html">Flash Circular Buffer</a></li> |
| <li class="toctree-l2 current"><a class="reference internal" href="sensor_framework.html">Sensor Framework</a><ul class="current"> |
| <li class="toctree-l3 current"><a class="current reference internal" href="#">Sensor API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_mgr_api.html">Sensor Manager API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_listener_api.html">Sensor Listener API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_notifier_api.html">Sensor Notifier API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_oic.html">OIC Sensor API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_shell.html">Sensor Shell</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_driver.html">Sensor Device Driver</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="sensor_create.html">Creating and Configuring Sensor Devices</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../testutil/testutil.html">Test Utilities</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="../json/json.html">JSON</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../network/index.html">BLE User Guide</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../mynewt_faq/index.html">Mynewt FAQ</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li> |
| </ul> |
| |
| |
| |
| </div> |
| </div> |
| </div> |
| <!-- ENDS STICKY CONTAINER --> |
| </div> |
| <!-- ENDS .container-sidebar --> |
| |
| <div class="col-xs-12 col-sm-9"> |
| |
| <div class="alert alert-warning"> |
| <p> |
| Version 1.5.0 is not the most recent version of the |
| Apache Mynewt documentation. Click <a href="/latest">here</a> to |
| read the latest version. |
| </p> |
| </div> |
| |
| |
| |
| <div class=""> |
| <div class="rst-content"> |
| <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> |
| <div itemprop="articleBody"> |
| |
| <div class="section" id="sensor-api"> |
| <h1>Sensor API<a class="headerlink" href="#sensor-api" title="Permalink to this headline">¶</a></h1> |
| <p>The sensor API implements the sensor abstraction and the functions:</p> |
| <ul class="simple"> |
| <li><p>For a sensor device driver package to initialize a sensor object with |
| the device specific information.</p></li> |
| <li><p>For an application to read sensor data from a sensor and to configure |
| a sensor for polling.</p></li> |
| </ul> |
| <p>A sensor is represented by the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> object.</p> |
| <div class="section" id="sensor-api-functions-used-by-a-sensor-device-driver-package"> |
| <h2>Sensor API Functions Used by a Sensor Device Driver Package<a class="headerlink" href="#sensor-api-functions-used-by-a-sensor-device-driver-package" title="Permalink to this headline">¶</a></h2> |
| <p>A sensor device driver package must use the sensor API to initialize |
| device specific information for a sensor object and to change sensor |
| configuration types.</p> |
| <div class="section" id="initializing-a-sensor-object"> |
| <h3>Initializing a Sensor Object<a class="headerlink" href="#initializing-a-sensor-object" title="Permalink to this headline">¶</a></h3> |
| <p>When the BSP or the sensor creator package creates an OS device for a |
| sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code>, it specifies the <code class="docutils literal notranslate"><span class="pre"><sensorname>_init()</span></code> |
| callback function, that the device driver exports, for the |
| <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function to call to initialize the device. The |
| <code class="docutils literal notranslate"><span class="pre"><sensorname>_init()</span></code> function must use the following sensor API |
| functions to set the driver and interface information in the sensor |
| object:</p> |
| <ul class="simple"> |
| <li><p>The <code class="docutils literal notranslate"><span class="pre">sensor_init()</span></code> function to initialize the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> |
| object for the device.</p></li> |
| <li><p>The <code class="docutils literal notranslate"><span class="pre">sensor_set_driver()</span></code> function to set the types that the sensor |
| device supports and the sensor driver functions to read the sensor |
| data from the device and to retrieve the value type for a given |
| sensor type.</p></li> |
| <li><p>The <code class="docutils literal notranslate"><span class="pre">sensor_set_interface()</span></code> function to set the interface to use |
| to communicate with the sensor device.</p></li> |
| </ul> |
| <p><strong>Notes</strong>:</p> |
| <ul class="simple"> |
| <li><p>See the <span class="xref std std-doc">Sensor Device |
| Driver</span> page for |
| the functions and data structures that a sensor driver package |
| exports.</p></li> |
| <li><p>The <code class="docutils literal notranslate"><span class="pre"><sensorname>_init()</span></code> function must also call the |
| <code class="docutils literal notranslate"><span class="pre">sensor_mgr_register()</span></code> function to register the sensor with the |
| sensor manager. See the <span class="xref std std-doc">Sensor Manager |
| API</span> for |
| details.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="setting-the-configured-sensor-types"> |
| <h3>Setting the Configured Sensor Types<a class="headerlink" href="#setting-the-configured-sensor-types" title="Permalink to this headline">¶</a></h3> |
| <p>The BSP, or the sensor creator package, also calls the |
| <code class="docutils literal notranslate"><span class="pre"><sensorname>_config()</span></code> function to configure the sensor device with |
| default values. The <code class="docutils literal notranslate"><span class="pre"><sensorname>_config()</span></code> function is exported by |
| the sensor device driver and must call the sensor API |
| <code class="docutils literal notranslate"><span class="pre">sensor_set_type_mask()</span></code> function to set the configured sensor types |
| in the sensor object. The configured sensor types are a subset of the |
| sensor types that the device supports. The sensor framework must know |
| the sensor types that a sensor device is configured for because it only |
| reads sensor data for the configured sensor types.</p> |
| <p><strong>Note:</strong> An application may also call the <code class="docutils literal notranslate"><span class="pre"><sensorname>_config()</span></code> |
| function to configure the sensor device.</p> |
| </div> |
| </div> |
| <div class="section" id="sensor-api-functions-used-by-an-application"> |
| <h2>Sensor API Functions Used By an Application<a class="headerlink" href="#sensor-api-functions-used-by-an-application" title="Permalink to this headline">¶</a></h2> |
| <p>The sensor API provides the functions for an application to read sensor |
| data from a sensor and to configure a sensor for polling.</p> |
| <div class="section" id="reading-sensor-data"> |
| <h3>Reading Sensor Data<a class="headerlink" href="#reading-sensor-data" title="Permalink to this headline">¶</a></h3> |
| <p>An application calls the <code class="docutils literal notranslate"><span class="pre">sensor_read()</span></code> function to read sensor data |
| from a sensor device. You specify a bit mask of the configured sensor |
| types to read from a sensor device and a callback function to call when |
| the sensor data is read. The callback is called for each specified |
| configured type and the data read for that sensor type is passed to the |
| callback.</p> |
| </div> |
| <div class="section" id="setting-a-poll-rate-for-a-sensor"> |
| <h3>Setting a Poll Rate for A Sensor<a class="headerlink" href="#setting-a-poll-rate-for-a-sensor" title="Permalink to this headline">¶</a></h3> |
| <p>The sensor manager implements a poller that reads sensor data from a |
| sensor at specified poll intervals. An application must call the |
| <code class="docutils literal notranslate"><span class="pre">sensor_set_poll_rate_ms()</span></code> function to set the poll rate for a sensor |
| in order for poller to poll the sensor.</p> |
| <p><strong>Note:</strong> An application needs to register a <span class="xref std std-doc">sensor |
| listener</span> to |
| receive the sensor data that the sensor manager poller reads from a |
| sensor.</p> |
| </div> |
| </div> |
| <div class="section" id="data-structures"> |
| <h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">¶</a></h2> |
| <p>We list the main data structures that the sensor API uses and mention |
| things to note. For more details, see the |
| <a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a> |
| include file.</p> |
| <div class="section" id="sensor-object"> |
| <h3>Sensor Object<a class="headerlink" href="#sensor-object" title="Permalink to this headline">¶</a></h3> |
| <p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> data structure represents the sensor device. The |
| sensor API, the <span class="xref std std-doc">sensor manager |
| API</span>, and the <span class="xref std std-doc">sensor |
| listener API</span> |
| all operate on the <code class="docutils literal notranslate"><span class="pre">sensor</span></code> object abstraction. A sensor is maintained |
| in the sensor manager global sensors list.</p> |
| <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">sensor</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="cm">/* The OS device this sensor inherits from, this is typically a sensor</span> |
| <span class="cm"> * specific driver.</span> |
| <span class="cm"> */</span> |
| <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">os_dev</span><span class="w"> </span><span class="o">*</span><span class="n">s_dev</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* The lock for this sensor object */</span> |
| <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">os_mutex</span><span class="w"> </span><span class="n">s_lock</span><span class="p">;</span> |
| |
| |
| <span class="w"> </span><span class="cm">/* A bit mask describing the types of sensor objects available from this</span> |
| <span class="cm"> * sensor. If the bit corresponding to the sensor_type_t is set, then this</span> |
| <span class="cm"> * sensor supports that variable.</span> |
| <span class="cm"> */</span> |
| <span class="w"> </span><span class="n">sensor_type_t</span><span class="w"> </span><span class="n">s_types</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor mask of the configured sensor type s*/</span> |
| <span class="w"> </span><span class="n">sensor_type_t</span><span class="w"> </span><span class="n">s_mask</span><span class="p">;</span> |
| <span class="w"> </span><span class="cm">/**</span> |
| <span class="cm"> * Poll rate in MS for this sensor.</span> |
| <span class="cm"> */</span> |
| <span class="w"> </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">s_poll_rate</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* The next time at which we want to poll data from this sensor */</span> |
| <span class="w"> </span><span class="n">os_time_t</span><span class="w"> </span><span class="n">s_next_run</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor driver specific functions, created by the device registering the</span> |
| <span class="cm"> * sensor.</span> |
| <span class="cm"> */</span> |
| <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">sensor_driver</span><span class="w"> </span><span class="o">*</span><span class="n">s_funcs</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor last reading timestamp */</span> |
| <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">sensor_timestamp</span><span class="w"> </span><span class="n">s_sts</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor interface structure */</span> |
| <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">sensor_itf</span><span class="w"> </span><span class="n">s_itf</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* A list of listeners that are registered to receive data off of this</span> |
| <span class="cm"> * sensor</span> |
| <span class="cm"> */</span> |
| <span class="w"> </span><span class="n">SLIST_HEAD</span><span class="p">(,</span><span class="w"> </span><span class="n">sensor_listener</span><span class="p">)</span><span class="w"> </span><span class="n">s_listener_list</span><span class="p">;</span> |
| <span class="w"> </span><span class="cm">/* The next sensor in the global sensor list. */</span> |
| <span class="w"> </span><span class="n">SLIST_ENTRY</span><span class="p">(</span><span class="n">sensor</span><span class="p">)</span><span class="w"> </span><span class="n">s_next</span><span class="p">;</span> |
| <span class="p">};</span> |
| </pre></div> |
| </div> |
| <p><strong>Note:</strong> There are two fields, <code class="docutils literal notranslate"><span class="pre">s_types</span></code> and <code class="docutils literal notranslate"><span class="pre">s_mask</span></code>, of type |
| <code class="docutils literal notranslate"><span class="pre">sensor_type_t</span></code>. The <code class="docutils literal notranslate"><span class="pre">s_types</span></code> field is a bit mask that specifies |
| the sensor types that the sensor device supports. The <code class="docutils literal notranslate"><span class="pre">s_mask</span></code> field |
| is a bit mask that specifies the sensor types that the sensor device is |
| configured for. Only sensor data for a configured sensor type can be |
| read.</p> |
| </div> |
| <div class="section" id="sensor-types"> |
| <h3>Sensor Types<a class="headerlink" href="#sensor-types" title="Permalink to this headline">¶</a></h3> |
| <p>The <code class="docutils literal notranslate"><span class="pre">sensor_type_t</span></code> type is an enumeration of a bit mask of sensor |
| types, with each bit representing one sensor type. Here is an excerpt of |
| the enumeration values. See the |
| <a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a> |
| for details:</p> |
| <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">typedef</span><span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="cm">/* No sensor type, used for queries */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_NONE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span> |
| <span class="w"> </span><span class="cm">/* Accelerometer functionality supported */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_ACCELEROMETER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span> |
| <span class="w"> </span><span class="cm">/* Magnetic field supported */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_MAGNETIC_FIELD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span> |
| <span class="w"> </span><span class="cm">/* Gyroscope supported */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_GYROSCOPE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span> |
| <span class="w"> </span><span class="cm">/* Light supported */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_LIGHT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span> |
| <span class="w"> </span><span class="cm">/* Temperature supported */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_TEMPERATURE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span> |
| |
| <span class="w"> </span><span class="p">....</span> |
| |
| <span class="w"> </span><span class="n">SENSOR_TYPE_USER_DEFINED_6</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">31</span><span class="p">),</span> |
| <span class="w"> </span><span class="cm">/* A selector, describes all sensors */</span> |
| <span class="w"> </span><span class="n">SENSOR_TYPE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0xFFFFFFFF</span> |
| |
| <span class="p">}</span><span class="w"> </span><span class="n">sensor_type_t</span><span class="p">;</span> |
| </pre></div> |
| </div> |
| </div> |
| <div class="section" id="sensor-interface"> |
| <h3>Sensor Interface<a class="headerlink" href="#sensor-interface" title="Permalink to this headline">¶</a></h3> |
| <p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_itf</span></code> data structure represents the interface the |
| sensor device driver uses to communicate with the sensor device.</p> |
| <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">sensor_itf</span><span class="w"> </span><span class="p">{</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor interface type */</span> |
| <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">si_type</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor interface number */</span> |
| <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">si_num</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor CS pin */</span> |
| <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">si_cs_pin</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="cm">/* Sensor address */</span> |
| <span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">si_addr</span><span class="p">;</span> |
| <span class="p">};</span> |
| </pre></div> |
| </div> |
| <p>The <code class="docutils literal notranslate"><span class="pre">si_cs_pin</span></code> specifies the chip select pin and is optional. The |
| <code class="docutils literal notranslate"><span class="pre">si_type</span></code> field must be of the following types:</p> |
| <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define SENSOR_ITF_SPI (0)</span> |
| <span class="cp">#define SENSOR_ITF_I2C (1)</span> |
| <span class="cp">#define SENSOR_ITF_UART (2)</span> |
| </pre></div> |
| </div> |
| </div> |
| <div class="section" id="sensor-value-type"> |
| <h3>Sensor Value Type<a class="headerlink" href="#sensor-value-type" title="Permalink to this headline">¶</a></h3> |
| <p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_cfg</span></code> data structure represents the configuration |
| sensor type:</p> |
| <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/**</span> |
| <span class="cm"> * Configuration structure, describing a specific sensor type off of</span> |
| <span class="cm"> * an existing sensor.</span> |
| <span class="cm"> */</span> |
| <span class="k">struct</span><span class="w"> </span><span class="nc">sensor_cfg</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="cm">/* The value type for this sensor (e.g. SENSOR_VALUE_TYPE_INT32).</span> |
| <span class="cm"> * Used to describe the result format for the value corresponding</span> |
| <span class="cm"> * to a specific sensor type.</span> |
| <span class="cm"> */</span> |
| <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">sc_valtype</span><span class="p">;</span> |
| <span class="w"> </span><span class="cm">/* Reserved for future usage */</span> |
| <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">_reserved</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span> |
| <span class="p">};</span> |
| </pre></div> |
| </div> |
| <p>Only the <code class="docutils literal notranslate"><span class="pre">sc_valtype</span></code> field is currently used and specifies the data |
| value type of the sensor data. The valid value types are:</p> |
| <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/**</span> |
| <span class="cm"> * Opaque 32-bit value, must understand underlying sensor type</span> |
| <span class="cm"> * format in order to interpret.</span> |
| <span class="cm"> */</span> |
| <span class="cp">#define SENSOR_VALUE_TYPE_OPAQUE (0)</span> |
| <span class="cm">/**</span> |
| <span class="cm"> * 32-bit signed integer</span> |
| <span class="cm"> */</span> |
| <span class="cp">#define SENSOR_VALUE_TYPE_INT32 (1)</span> |
| <span class="cm">/**</span> |
| <span class="cm"> * 32-bit floating point</span> |
| <span class="cm"> */</span> |
| <span class="cp">#define SENSOR_VALUE_TYPE_FLOAT (2)</span> |
| <span class="cm">/**</span> |
| <span class="cm"> * 32-bit integer triplet.</span> |
| <span class="cm"> */</span> |
| <span class="cp">#define SENSOR_VALUE_TYPE_INT32_TRIPLET (3)</span> |
| <span class="cm">/**</span> |
| <span class="cm"> * 32-bit floating point number triplet.</span> |
| <span class="cm"> */</span> |
| <span class="cp">#define SENSOR_VALUE_TYPE_FLOAT_TRIPLET (4)</span> |
| </pre></div> |
| </div> |
| </div> |
| <div class="section" id="sensor-driver-functions"> |
| <h3>Sensor Driver Functions<a class="headerlink" href="#sensor-driver-functions" title="Permalink to this headline">¶</a></h3> |
| <p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_device</span></code> data structure represents the device driver |
| functions. The sensor device driver must implement the functions and set |
| up the function pointers.</p> |
| <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct sensor_driver { |
| sensor_read_func_t sd_read; |
| sensor_get_config_func_t sd_get_config; |
| }; |
| </pre></div> |
| </div> |
| </div> |
| </div> |
| <div class="section" id="api"> |
| <h2>API<a class="headerlink" href="#api" title="Permalink to this headline">¶</a></h2> |
| <dl class="c enum"> |
| <dt id="c.sensor_type_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga089f166159fb19f10d81c65c1d8793a2"></span><em class="property"><span class="pre">enum</span> </em><code class="sig-name descname"><span class="pre">sensor_type_t</span></code><a class="headerlink" href="#c.sensor_type_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p><em>Values:</em></p> |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_NONE"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a3f8e3e31e6a356192f150019309925ee"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_NONE</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_NONE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_ACCELEROMETER"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2abd9779b04292b5e8054485b10fccb99c"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_ACCELEROMETER</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_ACCELEROMETER" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_MAGNETIC_FIELD"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a74438e3f4f1f8cb1e97ccebbd1096fe8"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_MAGNETIC_FIELD</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_MAGNETIC_FIELD" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_GYROSCOPE"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2adc01250dcba5642d294f74ba4d115c28"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_GYROSCOPE</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_GYROSCOPE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_LIGHT"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ae19c28b874a4ef6706d44af6f373f743"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_LIGHT</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_LIGHT" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_TEMPERATURE"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a1931d9687ccbd0aac063417fc0d7b4f6"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_TEMPERATURE</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_TEMPERATURE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_AMBIENT_TEMPERATURE"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a7d9456395f361833de2ee3ef12a1af2a"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_AMBIENT_TEMPERATURE</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_AMBIENT_TEMPERATURE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_PRESSURE"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a81634a16935829065d399d686c44ad86"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_PRESSURE</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_PRESSURE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_PROXIMITY"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a47912cab9ef79bbe4eb20538a88ce59c"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_PROXIMITY</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_PROXIMITY" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_RELATIVE_HUMIDITY"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ad9ebf0d3f835c55738b4d4e915768875"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_RELATIVE_HUMIDITY</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_RELATIVE_HUMIDITY" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_ROTATION_VECTOR"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ac407aca03c7ce72ea55e52f40477561b"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_ROTATION_VECTOR</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_ROTATION_VECTOR" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_ALTITUDE"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ad8d3b328398e98dcf5a13f2e17952426"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_ALTITUDE</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_ALTITUDE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_WEIGHT"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a03907cc13f6bea46695f88650c945b3d"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_WEIGHT</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_WEIGHT" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_LINEAR_ACCEL"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ad469c0fff1470c8ba9fe8009006b5625"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_LINEAR_ACCEL</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_LINEAR_ACCEL" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_GRAVITY"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ac7d364262029cc21bc865577d5288a1e"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_GRAVITY</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_GRAVITY" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_EULER"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2aa5ed5c3fab3f8f095832dc7eb501f468"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_EULER</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_EULER" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_COLOR"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ae41c2d95d02910a0e15266a9f4f1ed63"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_COLOR</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_COLOR" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_1"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a6e84482e62058e2bc59dbff2c232ade3"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_USER_DEFINED_1</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_1" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_2"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a5019c826bb0fa9d417852d040ed1d5b9"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_USER_DEFINED_2</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_2" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_3"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2af99b61b8ec94637fd67326e8962d9c9e"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_USER_DEFINED_3</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_3" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_4"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2a8c4e74c02373c8baf9fdca27ecbc7155"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_USER_DEFINED_4</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_4" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_5"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ae33fa6704158aa4669f6e38fcacf5374"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_USER_DEFINED_5</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_5" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_6"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ac9bc680d7b7d7e072342282afaf3ae67"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_USER_DEFINED_6</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_USER_DEFINED_6" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_type_t.SENSOR_TYPE_ALL"> |
| <span class="target" id="group___sensor_a_p_i_1gga089f166159fb19f10d81c65c1d8793a2ac557c994ff97a12678665da33901186d"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_TYPE_ALL</span></code><a class="headerlink" href="#c.sensor_type_t.SENSOR_TYPE_ALL" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| </dd></dl> |
| |
| <dl class="c enum"> |
| <dt id="c.sensor_event_type_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga5b5d7dcdc954d371a89d664436d996ee"></span><em class="property"><span class="pre">enum</span> </em><code class="sig-name descname"><span class="pre">sensor_event_type_t</span></code><a class="headerlink" href="#c.sensor_event_type_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p><em>Values:</em></p> |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_DOUBLE_TAP"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea45e40c30ce6eb2953fc127dfe0f4bca1"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_DOUBLE_TAP</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_DOUBLE_TAP" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_SINGLE_TAP"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeab9f511f62f6641200dea97d0291016c6"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_SINGLE_TAP</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_SINGLE_TAP" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_FREE_FALL"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeaacd7b84f4c0617aa59afaa1d9178cc74"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_FREE_FALL</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_FREE_FALL" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_SLEEP_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeaa6b61842ffeef94ba36389077864b9ad"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_SLEEP_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_SLEEP_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_WAKEUP"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeabdd0cb0f2fd56887b0ae8c5f1ffe5aa0"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_WAKEUP</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_WAKEUP" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_SLEEP"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea01d882e46ae7fc0a418be6b093c04e1c"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_SLEEP</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_SLEEP" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeace4f8ed5fe9ced64be7b5d5bfece8006"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_X_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeab3d722352921da802e8e7070a2992cdd"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_X_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_X_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Y_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea0b8a8c81778938f01dab71e234610a20"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_Y_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Y_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Z_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeaf60875950392ffb1c027c12729ab2b6f"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_Z_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Z_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_X_L_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea69b101cef32e37c869451c42c3231f91"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_X_L_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_X_L_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Y_L_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea6543ab6bbe618815a2fb8b5922a3b796"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_Y_L_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Y_L_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Z_L_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeac92e1e912508bf645163e906b69ea868"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_Z_L_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Z_L_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_X_H_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea0c25e51296b488cfaac2af84abf3cd2b"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_X_H_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_X_H_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Y_H_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eeac52d56b793a42028039f20c562cbb799"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_Y_H_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Y_H_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c enumerator"> |
| <dt id="c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Z_H_CHANGE"> |
| <span class="target" id="group___sensor_a_p_i_1gga5b5d7dcdc954d371a89d664436d996eea67d8ad7990938ef65befa01ac98d8a05"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">SENSOR_EVENT_TYPE_ORIENT_Z_H_CHANGE</span></code><a class="headerlink" href="#c.sensor_event_type_t.SENSOR_EVENT_TYPE_ORIENT_Z_H_CHANGE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_data_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga09e38f7a04f6f6456cb4542054cd2700"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_data_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <span class="pre">void</span><span class="pre">*</span>, <span class="pre">void</span><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_data_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Callback for handling sensor data, specified in a sensor listener. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor for which data is being returned </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: The argument provided to <a class="reference internal" href="#group___sensor_a_p_i_1ga87f809aca697a9508dbe9c0f62b130fb"><span class="std std-ref">sensor_read()</span></a> function. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">data</span></code>: A single sensor reading for that sensor listener </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The sensor type for the data function</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_trigger_notify_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga65bf7795b6bb908b127534196168adc0"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_trigger_notify_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <span class="pre">void</span><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_trigger_notify_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Callback for sending trigger notification. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: Ptr to the sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">data</span></code>: Ptr to sensor data </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The sensor type </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_trigger_cmp_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga3c7c303016333267ae388e44a6b355e4"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_trigger_cmp_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a>, <a class="reference internal" href="#c.sensor_data_t" title="sensor_data_t"><span class="pre">sensor_data_t</span></a><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_data_t" title="sensor_data_t"><span class="pre">sensor_data_t</span></a><span class="pre">*</span>, <span class="pre">void</span><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_trigger_cmp_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Callback for trigger compare functions. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: Type of sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">low_thresh</span></code>: The sensor low threshold </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">high_thresh</span></code>: The sensor high threshold </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: Ptr to data </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_notifier_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga4813ce428d5bcdced4a5afca18cc8cb4"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_notifier_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <span class="pre">void</span><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_event_type_t" title="sensor_event_type_t"><span class="pre">sensor_event_type_t</span></a><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_notifier_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Callback for event notifications. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor that observed the event </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: The opaque argument provided during registration </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">event</span></code>: The sensor event type that was observed </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_error_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1gaed37c36a30aad75c67b5e249b94a7b2a"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">void</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_error_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><span class="pre">sensor</span>, <span class="pre">void</span> <span class="pre">*</span><span class="pre">arg</span>, <span class="pre">int</span> <span class="pre">status</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_error_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Callback for reporting a sensor read error. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor for which a read failed. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: The optional argument registered with the callback. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">status</span></code>: Indicates the cause of the read failure. Determined by the underlying sensor driver. </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_read_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1gaf7333cd6cd202410fdff52a05530c6ee"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_read_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a>, <a class="reference internal" href="#c.sensor_data_func_t" title="sensor_data_func_t"><span class="pre">sensor_data_func_t</span></a>, <span class="pre">void</span><span class="pre">*</span>, <span class="pre">uint32_t</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_read_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Read a single value from a sensor, given a specific sensor type (e.g. </p> |
| <p>SENSOR_TYPE_PROXIMITY).</p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to read from </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The type(s) of sensor values to read. Mask containing that type, provide all, to get all values. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">data_func</span></code>: The function to call with each value read. If NULL, it calls all sensor listeners associated with this function. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: The argument to pass to the read callback. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">timeout</span></code>: Timeout. If block until result, specify OS_TIMEOUT_NEVER, 0 returns immediately (no wait.)</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_get_config_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga27df97b905ca6cbd37969b6378856629"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_get_config_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_cfg" title="sensor_cfg"><span class="pre">sensor_cfg</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_get_config_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Get the configuration of the sensor for the sensor type. </p> |
| <p>This includes the value type of the sensor.</p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: Ptr to the sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The type of sensor value to get configuration for </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">cfg</span></code>: A pointer to the sensor value to place the returned result into.</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_set_config_func_t"> |
| <span class="target" id="group___sensor_a_p_i_1gab68476efbe64cb16c6660685c39685b6"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_set_config_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <span class="pre">void</span><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_set_config_func_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Send a new configuration register set to the sensor. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: Ptr to the sensor-specific stucture </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: Ptr to the sensor-specific configuration structure</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_set_trigger_thresh_t"> |
| <span class="target" id="group___sensor_a_p_i_1gaa6b3e33635d45ec6463535d52c34b681"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_set_trigger_thresh_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_type_traits" title="sensor_type_traits"><span class="pre">sensor_type_traits</span></a> <span class="pre">*</span><span class="pre">stt</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_set_trigger_thresh_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Set the trigger and threshold values for a specific sensor for the sensor type. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: Ptr to the sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: type of sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">stt</span></code>: Ptr to teh sensor traits</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_clear_trigger_thresh_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga8f8c68e4d101bdf7915a805bb40e2de7"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_clear_trigger_thresh_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><span class="pre">sensor</span>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <span class="pre">type</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_clear_trigger_thresh_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Clear the high/low threshold values for a specific sensor for the sensor type. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: Ptr to the sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: Type of sensor</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_set_notification_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga039094151d9f7dd688eae4d6be890217"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_set_notification_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_event_type_t" title="sensor_event_type_t"><span class="pre">sensor_event_type_t</span></a><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_set_notification_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Set the notification expectation for a targeted set of events for the specific sensor. </p> |
| <p>After this function returns successfully, the implementer shall post corresponding event notifications to the sensor manager.</p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to expect notifications from. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">event</span></code>: The mask of event types to expect notifications from.</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_unset_notification_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga84606fd4e215edad85eaad3807bf27fe"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_unset_notification_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a><span class="pre">*</span>, <a class="reference internal" href="#c.sensor_event_type_t" title="sensor_event_type_t"><span class="pre">sensor_event_type_t</span></a><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_unset_notification_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Unset the notification expectation for a targeted set of events for the specific sensor. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">event</span></code>: The mask of event types.</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c type"> |
| <dt id="c.sensor_handle_interrupt_t"> |
| <span class="target" id="group___sensor_a_p_i_1ga82123fcc02efb2318c0cda96da4b5b61"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">sensor_handle_interrupt_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><span class="pre">sensor</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_handle_interrupt_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Let driver handle interrupt in the sensor context. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: Ptr to the sensor</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_pkg_init"> |
| <span class="target" id="group___sensor_a_p_i_1gad1ba608af72591f9ac360d6d04b1eb0e"></span><span class="pre">void</span> <code class="sig-name descname"><span class="pre">sensor_pkg_init</span></code><span class="sig-paren">(</span><span class="pre">void</span><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_pkg_init" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Package init function. </p> |
| <p>Remove when we have post-kernel init stages. </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_itf_lock"> |
| <span class="target" id="group___sensor_a_p_i_1gac21b9cf065746ad091506652b73e033e"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_itf_lock</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_itf" title="sensor_itf"><span class="pre">sensor_itf</span></a> <span class="pre">*</span><em><span class="pre">si</span></em>, <a class="reference internal" href="../../core_os/time/os_time.html#c.os_time_t" title="os_time_t"><span class="pre">os_time_t</span></a> <em><span class="pre">timeout</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_itf_lock" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Lock access to the <a class="reference internal" href="#structsensor__itf"><span class="std std-ref">sensor_itf</span></a> specified by si. </p> |
| <p>Blocks until lock acquired.</p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">si</span></code>: The <a class="reference internal" href="#structsensor__itf"><span class="std std-ref">sensor_itf</span></a> to lock </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">timeout</span></code>: The timeout</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_itf_unlock"> |
| <span class="target" id="group___sensor_a_p_i_1ga2087e8fe36fc2a6467b36710225c64fd"></span><span class="pre">void</span> <code class="sig-name descname"><span class="pre">sensor_itf_unlock</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_itf" title="sensor_itf"><span class="pre">sensor_itf</span></a> <span class="pre">*</span><em><span class="pre">si</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_itf_unlock" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Unlock access to the <a class="reference internal" href="#structsensor__itf"><span class="std std-ref">sensor_itf</span></a> specified by si. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">si</span></code>: The <a class="reference internal" href="#structsensor__itf"><span class="std std-ref">sensor_itf</span></a> to unlock access to</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_init"> |
| <span class="target" id="group___sensor_a_p_i_1gad4b2adaff00f26cb1f4ddf705ae1bff5"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_init</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_init" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <em class="property"><span class="pre">struct</span></em> <span class="pre">os_dev</span> <span class="pre">*</span><em><span class="pre">dev</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_init" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Initialize a sensor. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to initialize </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">dev</span></code>: The device to associate with this sensor.</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_lock"> |
| <span class="target" id="group___sensor_a_p_i_1gad2bbf941fac7a9e4a42d7bc9f9b904b2"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_lock</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_lock" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_lock" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Lock access to the sensor specified by sensor. </p> |
| <p>Blocks until lock acquired.</p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to lock</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_unlock"> |
| <span class="target" id="group___sensor_a_p_i_1ga31665b12b6ac2e6012dc2d355ab94461"></span><span class="pre">void</span> <code class="sig-name descname"><span class="pre">sensor_unlock</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_unlock" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_unlock" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Unlock access to the sensor specified by sensor. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to unlock access to. </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_read"> |
| <span class="target" id="group___sensor_a_p_i_1ga87f809aca697a9508dbe9c0f62b130fb"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_read</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_read" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <em><span class="pre">type</span></em>, <a class="reference internal" href="#c.sensor_data_func_t" title="sensor_data_func_t"><span class="pre">sensor_data_func_t</span></a> <em><span class="pre">data_func</span></em>, <span class="pre">void</span> <span class="pre">*</span><em><span class="pre">arg</span></em>, <span class="pre">uint32_t</span> <em><span class="pre">timeout</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_read" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Read the data for sensor type “type,” from the given sensor and return the result into the “value” parameter. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to read data from </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The type of sensor data to read from the sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">data_func</span></code>: The callback to call for data returned from that sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">arg</span></code>: The argument to pass to this callback. </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">timeout</span></code>: Timeout before aborting sensor read</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_set_driver"> |
| <span class="target" id="group___sensor_a_p_i_1gaed02a74e747c14a0b468b36865455868"></span><em class="property"><span class="pre">static</span></em> <em class="property"><span class="pre">inline</span></em> <span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_set_driver</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_set_driver" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <em><span class="pre">type</span></em>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_driver" title="sensor_driver"><span class="pre">sensor_driver</span></a> <span class="pre">*</span><em><span class="pre">driver</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_set_driver" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Set the driver functions for this sensor, along with the type of sensor data available for the given sensor. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to set the driver information for </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The types of sensor data available for this sensor </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">driver</span></code>: The driver functions for this sensor</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_set_type_mask"> |
| <span class="target" id="group___sensor_a_p_i_1ga6604232dad64041e2681c0c267e649fc"></span><em class="property"><span class="pre">static</span></em> <em class="property"><span class="pre">inline</span></em> <span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_set_type_mask</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_set_type_mask" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <em><span class="pre">mask</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_set_type_mask" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Set the sensor driver mask so that the developer who configures the sensor tells the sensor framework which sensor data to send back to the user. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to set the mask for </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">mask</span></code>: The mask </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_check_type"> |
| <span class="target" id="group___sensor_a_p_i_1ga3cd69eca33188de68cb6ef459a44b569"></span><em class="property"><span class="pre">static</span></em> <em class="property"><span class="pre">inline</span></em> <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <code class="sig-name descname"><span class="pre">sensor_check_type</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_check_type" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <em><span class="pre">type</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_check_type" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Check if sensor type is supported by the sensor device. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>type bitfield, if supported, 0 if not supported </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor object </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: Type to be checked</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_set_interface"> |
| <span class="target" id="group___sensor_a_p_i_1gacc799a220d7f5c1135be24dfbe3ecfbb"></span><em class="property"><span class="pre">static</span></em> <em class="property"><span class="pre">inline</span></em> <span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_set_interface</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_set_interface" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_itf" title="sensor_itf"><span class="pre">sensor_itf</span></a> <span class="pre">*</span><em><span class="pre">s_itf</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_set_interface" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Set interface type and number. </p> |
| <p><dl class="simple"> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to set the interface for </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">s_itf</span></code>: The interface type to set </p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c function"> |
| <dt id="c.sensor_get_config"> |
| <span class="target" id="group___sensor_a_p_i_1gaeaa2639ff28028eb258f22097e49e2b4"></span><em class="property"><span class="pre">static</span></em> <em class="property"><span class="pre">inline</span></em> <span class="pre">int</span> <code class="sig-name descname"><span class="pre">sensor_get_config</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_get_config" title="sensor"><span class="pre">sensor</span></a> <span class="pre">*</span><em><span class="pre">sensor</span></em>, <a class="reference internal" href="#c.sensor_type_t" title="sensor_type_t"><span class="pre">sensor_type_t</span></a> <em><span class="pre">type</span></em>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.sensor_cfg" title="sensor_cfg"><span class="pre">sensor_cfg</span></a> <span class="pre">*</span><em><span class="pre">cfg</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.sensor_get_config" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Read the configuration for the sensor type “type,” and return the configuration into “cfg.”. </p> |
| <p><dl class="simple"> |
| <dt><strong>Return</strong></dt><dd><p>0 on success, non-zero error code on failure. </p> |
| </dd> |
| <dt><strong>Parameters</strong></dt><dd><ul class="breatheparameterlist simple"> |
| <li><p><code class="docutils literal notranslate"><span class="pre">sensor</span></code>: The sensor to read configuration for </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">type</span></code>: The type of sensor configuration to read </p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">cfg</span></code>: The configuration structure to point to.</p></li> |
| </ul> |
| </dd> |
| </dl> |
| </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_VALUE_TYPE_OPAQUE"> |
| <span class="target" id="group___sensor_a_p_i_1ga4a9cd245ef09a7bf15c84bcf97676442"></span><code class="sig-name descname"><span class="pre">SENSOR_VALUE_TYPE_OPAQUE</span></code><a class="headerlink" href="#c.SENSOR_VALUE_TYPE_OPAQUE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Opaque 32-bit value, must understand underlying sensor type format in order to interpret. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_VALUE_TYPE_INT32"> |
| <span class="target" id="group___sensor_a_p_i_1ga7f2a80d71a9051f7a565121372c45c9d"></span><code class="sig-name descname"><span class="pre">SENSOR_VALUE_TYPE_INT32</span></code><a class="headerlink" href="#c.SENSOR_VALUE_TYPE_INT32" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>32-bit signed integer </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_VALUE_TYPE_FLOAT"> |
| <span class="target" id="group___sensor_a_p_i_1gafc9ecc290070fd2b258a1ac9c507308f"></span><code class="sig-name descname"><span class="pre">SENSOR_VALUE_TYPE_FLOAT</span></code><a class="headerlink" href="#c.SENSOR_VALUE_TYPE_FLOAT" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>32-bit floating point </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_VALUE_TYPE_INT32_TRIPLET"> |
| <span class="target" id="group___sensor_a_p_i_1ga5aa0944ec324dbd69af6f97a01d15014"></span><code class="sig-name descname"><span class="pre">SENSOR_VALUE_TYPE_INT32_TRIPLET</span></code><a class="headerlink" href="#c.SENSOR_VALUE_TYPE_INT32_TRIPLET" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>32-bit integer triplet. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_VALUE_TYPE_FLOAT_TRIPLET"> |
| <span class="target" id="group___sensor_a_p_i_1ga290cbf152c859ac676a4cf4b7142602f"></span><code class="sig-name descname"><span class="pre">SENSOR_VALUE_TYPE_FLOAT_TRIPLET</span></code><a class="headerlink" href="#c.SENSOR_VALUE_TYPE_FLOAT_TRIPLET" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>32-bit floating point number triplet. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_ITF_SPI"> |
| <span class="target" id="group___sensor_a_p_i_1gaa34ef54f01aa6a1625de51a48a9ea378"></span><code class="sig-name descname"><span class="pre">SENSOR_ITF_SPI</span></code><a class="headerlink" href="#c.SENSOR_ITF_SPI" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Sensor interfaces. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_ITF_I2C"> |
| <span class="target" id="group___sensor_a_p_i_1ga86d54650bedad1eb1ab4d19269dbff7e"></span><code class="sig-name descname"><span class="pre">SENSOR_ITF_I2C</span></code><a class="headerlink" href="#c.SENSOR_ITF_I2C" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_ITF_UART"> |
| <span class="target" id="group___sensor_a_p_i_1ga3021a177a6dca06bee2fe715ae576955"></span><code class="sig-name descname"><span class="pre">SENSOR_ITF_UART</span></code><a class="headerlink" href="#c.SENSOR_ITF_UART" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_THRESH_ALGO_WINDOW"> |
| <span class="target" id="group___sensor_a_p_i_1ga1c18e9c10dcc5ce95f9fbba59dea0a89"></span><code class="sig-name descname"><span class="pre">SENSOR_THRESH_ALGO_WINDOW</span></code><a class="headerlink" href="#c.SENSOR_THRESH_ALGO_WINDOW" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Sensor threshold constants. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_THRESH_ALGO_WATERMARK"> |
| <span class="target" id="group___sensor_a_p_i_1gae4648ca63467450b6e8ae76f589eb83f"></span><code class="sig-name descname"><span class="pre">SENSOR_THRESH_ALGO_WATERMARK</span></code><a class="headerlink" href="#c.SENSOR_THRESH_ALGO_WATERMARK" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_THRESH_ALGO_USERDEF"> |
| <span class="target" id="group___sensor_a_p_i_1ga2d3e7269408f87c22ecbd0ac6439b78c"></span><code class="sig-name descname"><span class="pre">SENSOR_THRESH_ALGO_USERDEF</span></code><a class="headerlink" href="#c.SENSOR_THRESH_ALGO_USERDEF" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_IGN_LISTENER"> |
| <span class="target" id="group___sensor_a_p_i_1ga2c3e30287c678da352373bd2f2a71e33"></span><code class="sig-name descname"><span class="pre">SENSOR_IGN_LISTENER</span></code><a class="headerlink" href="#c.SENSOR_IGN_LISTENER" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Sensor listener constants. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.STANDARD_ACCEL_GRAVITY"> |
| <span class="target" id="group___sensor_a_p_i_1gabb1d48ae86adc4eddbdbba5c28db10d3"></span><code class="sig-name descname"><span class="pre">STANDARD_ACCEL_GRAVITY</span></code><a class="headerlink" href="#c.STANDARD_ACCEL_GRAVITY" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Useful constants. </p> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_GET_DEVICE"> |
| <span class="target" id="group___sensor_a_p_i_1ga2e8cffe280febdd3873b491dd63a685f"></span><code class="sig-name descname"><span class="pre">SENSOR_GET_DEVICE</span></code><span class="sig-paren">(</span><em><span class="pre">__s</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.SENSOR_GET_DEVICE" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_GET_ITF"> |
| <span class="target" id="group___sensor_a_p_i_1ga3419f628a9592973bee2ef435d06795f"></span><code class="sig-name descname"><span class="pre">SENSOR_GET_ITF</span></code><span class="sig-paren">(</span><em><span class="pre">__s</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.SENSOR_GET_ITF" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_DATA_CMP_GT"> |
| <span class="target" id="group___sensor_a_p_i_1ga64106f96e451818473c02d8175980e58"></span><code class="sig-name descname"><span class="pre">SENSOR_DATA_CMP_GT</span></code><span class="sig-paren">(</span><em><span class="pre">__d</span></em>, <em><span class="pre">__t</span></em>, <em><span class="pre">__f</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.SENSOR_DATA_CMP_GT" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c macro"> |
| <dt id="c.SENSOR_DATA_CMP_LT"> |
| <span class="target" id="group___sensor_a_p_i_1gac4563ebfe370380e76adc0fcfd5f5150"></span><code class="sig-name descname"><span class="pre">SENSOR_DATA_CMP_LT</span></code><span class="sig-paren">(</span><em><span class="pre">__d</span></em>, <em><span class="pre">__t</span></em>, <em><span class="pre">__f</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.SENSOR_DATA_CMP_LT" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_cfg"> |
| <span class="target" id="structsensor__cfg"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_cfg</span></code><a class="headerlink" href="#c.sensor_cfg" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em><p>Configuration structure, describing a specific sensor type off of an existing sensor. </p> |
| </dd></dl> |
| |
| <dl class="c union"> |
| <dt id="c.sensor_data_t"> |
| <span class="target" id="unionsensor__data__t"></span><em class="property"><span class="pre">union</span> </em><code class="sig-name descname"><span class="pre">sensor_data_t</span></code><a class="headerlink" href="#c.sensor_data_t" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em><div class="breathe-sectiondef docutils container"> |
| <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p> |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.smd"> |
| <span class="target" id="unionsensor__data__t_1af757345c4d4318a0aa6140d8f758777c"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_mag_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">smd</span></code><a class="headerlink" href="#c.sensor_data_t.smd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.sad"> |
| <span class="target" id="unionsensor__data__t_1a6d2e9e6c0ddcde0b8f23bf21222fae24"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_accel_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">sad</span></code><a class="headerlink" href="#c.sensor_data_t.sad" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.sed"> |
| <span class="target" id="unionsensor__data__t_1a0651fcca8d845ba6c2287ab188ece383"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_euler_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">sed</span></code><a class="headerlink" href="#c.sensor_data_t.sed" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.sqd"> |
| <span class="target" id="unionsensor__data__t_1a62df4f0aca5279ec089b26422755c1f7"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_quat_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">sqd</span></code><a class="headerlink" href="#c.sensor_data_t.sqd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.slad"> |
| <span class="target" id="unionsensor__data__t_1a3fb2b944e2187b5e1486e9eab79cbad3"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_accel_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">slad</span></code><a class="headerlink" href="#c.sensor_data_t.slad" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.sgrd"> |
| <span class="target" id="unionsensor__data__t_1ab02ff5a3381b1d4890511c716f55351b"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_accel_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">sgrd</span></code><a class="headerlink" href="#c.sensor_data_t.sgrd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.sgd"> |
| <span class="target" id="unionsensor__data__t_1a915eeb9080130f19b3551a542f4e3cb4"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_gyro_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">sgd</span></code><a class="headerlink" href="#c.sensor_data_t.sgd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.std"> |
| <span class="target" id="unionsensor__data__t_1ad07cfb7991120d9cce3797628dcd04f7"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_temp_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">std</span></code><a class="headerlink" href="#c.sensor_data_t.std" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.satd"> |
| <span class="target" id="unionsensor__data__t_1ada50271e800cf3632a046ad198055fd2"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_temp_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">satd</span></code><a class="headerlink" href="#c.sensor_data_t.satd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.sld"> |
| <span class="target" id="unionsensor__data__t_1a01080203c05e6cb4a75f4ec69ad432cc"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_light_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">sld</span></code><a class="headerlink" href="#c.sensor_data_t.sld" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.scd"> |
| <span class="target" id="unionsensor__data__t_1a82d676645a4a05be8991b6081a27f3e8"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_color_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">scd</span></code><a class="headerlink" href="#c.sensor_data_t.scd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.spd"> |
| <span class="target" id="unionsensor__data__t_1a7dafadc2932e88578e98ac06acf32716"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_press_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">spd</span></code><a class="headerlink" href="#c.sensor_data_t.spd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| <dl class="c var"> |
| <dt id="c.sensor_data_t.srhd"> |
| <span class="target" id="unionsensor__data__t_1a806cc8234b6ad66b86793780270d1583"></span><em class="property"><span class="pre">struct</span></em> <span class="pre">sensor_humid_data</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">srhd</span></code><a class="headerlink" href="#c.sensor_data_t.srhd" title="Permalink to this definition">¶</a><br /></dt> |
| <dd></dd></dl> |
| |
| </div> |
| </dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_listener"> |
| <span class="target" id="structsensor__listener"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_listener</span></code><a class="headerlink" href="#c.sensor_listener" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_notifier"> |
| <span class="target" id="structsensor__notifier"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_notifier</span></code><a class="headerlink" href="#c.sensor_notifier" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em><p>Registration for sensor event notifications. </p> |
| </dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_read_ev_ctx"> |
| <span class="target" id="structsensor__read__ev__ctx"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_read_ev_ctx</span></code><a class="headerlink" href="#c.sensor_read_ev_ctx" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em><p>Context for sensor read events. </p> |
| </dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_type_traits"> |
| <span class="target" id="structsensor__type__traits"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_type_traits</span></code><a class="headerlink" href="#c.sensor_type_traits" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em><p>Sensor type traits list. </p> |
| </dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_notify_ev_ctx"> |
| <span class="target" id="structsensor__notify__ev__ctx"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_notify_ev_ctx</span></code><a class="headerlink" href="#c.sensor_notify_ev_ctx" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_notify_os_ev"> |
| <span class="target" id="structsensor__notify__os__ev"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_notify_os_ev</span></code><a class="headerlink" href="#c.sensor_notify_os_ev" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_driver"> |
| <span class="target" id="structsensor__driver"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_driver</span></code><a class="headerlink" href="#c.sensor_driver" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_timestamp"> |
| <span class="target" id="structsensor__timestamp"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_timestamp</span></code><a class="headerlink" href="#c.sensor_timestamp" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_int"> |
| <span class="target" id="structsensor__int"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_int</span></code><a class="headerlink" href="#c.sensor_int" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor_itf"> |
| <span class="target" id="structsensor__itf"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor_itf</span></code><a class="headerlink" href="#c.sensor_itf" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em></dd></dl> |
| |
| <dl class="c struct"> |
| <dt id="c.sensor"> |
| <span class="target" id="structsensor"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">sensor</span></code><a class="headerlink" href="#c.sensor" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><em>#include <sensor.h></em><div class="breathe-sectiondef docutils container"> |
| <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p> |
| <dl class="c var"> |
| <dt id="c.sensor.s_poll_rate"> |
| <span class="target" id="structsensor_1a642ee212d3b335ebf132260a5c69aa44"></span><span class="pre">uint32_t</span> <code class="sig-name descname"><span class="pre">s_poll_rate</span></code><a class="headerlink" href="#c.sensor.s_poll_rate" title="Permalink to this definition">¶</a><br /></dt> |
| <dd><p>Poll rate in MS for this sensor. </p> |
| </dd></dl> |
| |
| </div> |
| </dd></dl> |
| |
| </div> |
| </div> |
| |
| |
| </div> |
| </div> |
| |
| <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation"> |
| |
| <a href="sensor_mgr_api.html" class="btn btn-neutral float-right" title="Sensor Manager API" accesskey="n">Next: Sensor Manager API <span class="fa fa-arrow-circle-right"></span></a> |
| |
| |
| <a href="sensor_framework.html" class="btn btn-neutral" title="Mynewt Sensor Framework Overview" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Mynewt Sensor Framework Overview</a> |
| |
| </div> |
| |
| </div> |
| </div> |
| </div> |
| <!-- ENDS CONTENT SECTION --> |
| </div> |
| <!-- ENDS .content --> |
| </div> |
| </div> |
| <footer> |
| <div class="container"> |
| <div class="row"> |
| <div class="col-xs-12"> |
| |
| <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p> |
| |
| </div> |
| <div class="col-xs-12"> |
| <div class="logos"> |
| <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache"> |
| <small class="footnote"> |
| Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either |
| registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries. |
| </small> |
| <a href=""> |
| <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" /> |
| </a> |
| </div> |
| </div> |
| </div> |
| </div> |
| </footer> |
| </div> |
| <!-- ENDS #wrapper --> |
| |
| |
| |
| <script type="text/javascript"> |
| var DOCUMENTATION_OPTIONS = { |
| URL_ROOT:'../../../', |
| VERSION:'latest', |
| COLLAPSE_INDEX:false, |
| FILE_SUFFIX:'.html', |
| HAS_SOURCE: true, |
| SOURCELINK_SUFFIX: '.txt', |
| LINK_SUFFIX: '.html' |
| }; |
| </script> |
| <script type="text/javascript" src="../../../_static/jquery.js"></script> |
| <script type="text/javascript" src="../../../_static/underscore.js"></script> |
| <script type="text/javascript" src="../../../_static/doctools.js"></script> |
| <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script> |
| <script type="text/javascript" src="../../../_static/js/affix.js"></script> |
| <script type="text/javascript" src="../../../_static/js/main.js"></script> |
| |
| |
| |
| </body> |
| </html> |