esp32_BNO08x/docs/_b_n_o08x_rpt_8hpp_source.html

188 lines
28 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp32_BNO08x: /media/develop/git/imu_pr_cleanup/components/esp32_BNO08x/include/report/BNO08xRpt.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp32_BNO08x<span id="projectnumber">&#160;1.4</span>
</div>
<div id="projectbrief">C++ BNO08x IMU driver component for esp-idf.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_b_n_o08x_rpt_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle"><div class="title">BNO08xRpt.hpp</div></div>
</div><!--header-->
<div class="contents">
<a href="_b_n_o08x_rpt_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">// standard library includes</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">// esp-idf includes</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;esp_log.h&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">// in-house includes</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;<a class="code" href="_b_n_o08x_global_types_8hpp.html">BNO08xGlobalTypes.hpp</a>&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &quot;<a class="code" href="_b_n_o08x_private_types_8hpp.html">BNO08xPrivateTypes.hpp</a>&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">// hill-crest labs includes (apache 2.0 license, compatible with MIT)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &quot;sh2.h&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;sh2_SensorValue.h&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;sh2_err.h&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html"> 25</a></span><span class="keyword">class </span><a class="code hl_class" href="class_b_n_o08x_rpt.html">BNO08xRpt</a></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>{</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a7d147e7540a4c6aa19749844e14cdadc">disable</a>(sh2_SensorConfig_t sensor_cfg = BNO08xPrivateTypes::default_sensor_cfg);</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a5b542b28c81fcd05cf2e3f3d2d437d46">register_cb</a>(std::function&lt;<span class="keywordtype">void</span>(<span class="keywordtype">void</span>)&gt; cb_fxn);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a74f6037286b51382535bab61680297ed">has_new_data</a>();</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#ab3bb962696b135841ef7313bc631fc72">flush</a>();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a7ce8e48cadf59f49068af7f1cb680b38">get_sample_counts</a>(<a class="code hl_struct" href="structbno08x__sample__counts__t.html">bno08x_sample_counts_t</a>&amp; sample_counts);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a1418be33824d3102dbc8f92558a402a6">clear_sample_counts</a>();</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#ad5b054279b01204f61b4c0408acf51cf">get_meta_data</a>(<a class="code hl_struct" href="structbno08x__meta__data__t.html">bno08x_meta_data_t</a>&amp; meta_data);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a4ee529725467412df396d5c610ff7bb4"> 35</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a4ee529725467412df396d5c610ff7bb4">enable</a>(</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg = BNO08xPrivateTypes::default_sensor_cfg) = 0;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a63cd4ac9e96baa43eebe580f03307512"> 39</a></span> uint8_t <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a63cd4ac9e96baa43eebe580f03307512">ID</a>; </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#ae78feab5682a4697c5acad3ca6f12c2e"> 40</a></span> EventBits_t <a class="code hl_variable" href="class_b_n_o08x_rpt.html#ae78feab5682a4697c5acad3ca6f12c2e">rpt_bit</a>; </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a1d4d6f4cc6f1eae503863eedf7fb9f52"> 41</a></span> uint32_t <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a1d4d6f4cc6f1eae503863eedf7fb9f52">period_us</a>; </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a5a1404a08918d66bb0f41f55220db6e5"> 42</a></span> <a class="code hl_struct" href="struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t.html">BNO08xPrivateTypes::bno08x_sync_ctx_t</a>* <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a5a1404a08918d66bb0f41f55220db6e5">sync_ctx</a>;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#aa0bed98a9a497d1f39e8245d05b02e9c">rpt_enable</a>(uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg = BNO08xPrivateTypes::default_sensor_cfg);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a970fb7e7d3745c62fec626f0ccf0759f"> 45</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a970fb7e7d3745c62fec626f0ccf0759f">update_data</a>(sh2_SensorValue_t* sensor_val) = 0;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a15e8eebe3fe90ac19837e3860c76374c"> 59</a></span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a15e8eebe3fe90ac19837e3860c76374c">BNO08xRpt</a>(uint8_t <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a63cd4ac9e96baa43eebe580f03307512">ID</a>, EventBits_t <a class="code hl_variable" href="class_b_n_o08x_rpt.html#ae78feab5682a4697c5acad3ca6f12c2e">rpt_bit</a>, <a class="code hl_struct" href="struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t.html">BNO08xPrivateTypes::bno08x_sync_ctx_t</a>* <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a5a1404a08918d66bb0f41f55220db6e5">sync_ctx</a>)</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> : <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a63cd4ac9e96baa43eebe580f03307512">ID</a>(<a class="code hl_variable" href="class_b_n_o08x_rpt.html#a63cd4ac9e96baa43eebe580f03307512">ID</a>)</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> , <a class="code hl_variable" href="class_b_n_o08x_rpt.html#ae78feab5682a4697c5acad3ca6f12c2e">rpt_bit</a>(<a class="code hl_variable" href="class_b_n_o08x_rpt.html#ae78feab5682a4697c5acad3ca6f12c2e">rpt_bit</a>)</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> , <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a1d4d6f4cc6f1eae503863eedf7fb9f52">period_us</a>(0UL)</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> , <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a5a1404a08918d66bb0f41f55220db6e5">sync_ctx</a>(<a class="code hl_variable" href="class_b_n_o08x_rpt.html#a5a1404a08918d66bb0f41f55220db6e5">sync_ctx</a>)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a61e3451e93806e1b7eaf5f1387726765">unlock_sh2_HAL</a>();</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a7a5619a74c1237c5abde2e4bd6619d12">lock_sh2_HAL</a>();</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a26bacc572187119339ec248bb4e7d6f3">unlock_user_data</a>();</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a48e7b1a2c2ebc6b1f2f292735c0832a0">lock_user_data</a>();</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_b_n_o08x_rpt.html#a47a623eb0a1db51af76a03a103c32329">signal_data_available</a>();</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a201aeb71fefb0d9d485914176a82dd80"> 74</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">constexpr</span> <span class="keywordtype">float</span> <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a201aeb71fefb0d9d485914176a82dd80">RAD_2_DEG</a> =</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> (180.0f / M_PI); </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a2c57f370fb08b793bb10ec22d5acca45"> 77</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">constexpr</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="class_b_n_o08x_rpt.html#a2c57f370fb08b793bb10ec22d5acca45">TAG</a> = <span class="stringliteral">&quot;BNO08xRpt&quot;</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="class_b_n_o08x_rpt.html#a9313d906399750f09e3fe4dae87cec15"> 79</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_b_n_o08x.html">BNO08x</a>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>};</div>
<div class="ttc" id="a_b_n_o08x_global_types_8hpp_html"><div class="ttname"><a href="_b_n_o08x_global_types_8hpp.html">BNO08xGlobalTypes.hpp</a></div></div>
<div class="ttc" id="a_b_n_o08x_private_types_8hpp_html"><div class="ttname"><a href="_b_n_o08x_private_types_8hpp.html">BNO08xPrivateTypes.hpp</a></div></div>
<div class="ttc" id="aclass_b_n_o08x_html"><div class="ttname"><a href="class_b_n_o08x.html">BNO08x</a></div><div class="ttdoc">BNO08x IMU driver class.</div><div class="ttdef"><b>Definition:</b> BNO08x.hpp:33</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html"><div class="ttname"><a href="class_b_n_o08x_rpt.html">BNO08xRpt</a></div><div class="ttdoc">Class to represent and manage reports returned from BNO08x.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:26</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a1418be33824d3102dbc8f92558a402a6"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a1418be33824d3102dbc8f92558a402a6">BNO08xRpt::clear_sample_counts</a></div><div class="ttdeci">bool clear_sample_counts()</div><div class="ttdoc">Clears BNO08x internal sample counts for this sensor. (see SH-2 ref manual 6.4.3.1)</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:195</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a15e8eebe3fe90ac19837e3860c76374c"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a15e8eebe3fe90ac19837e3860c76374c">BNO08xRpt::BNO08xRpt</a></div><div class="ttdeci">BNO08xRpt(uint8_t ID, EventBits_t rpt_bit, BNO08xPrivateTypes::bno08x_sync_ctx_t *sync_ctx)</div><div class="ttdoc">BNO08xRpt report constructor.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:59</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a1d4d6f4cc6f1eae503863eedf7fb9f52"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a1d4d6f4cc6f1eae503863eedf7fb9f52">BNO08xRpt::period_us</a></div><div class="ttdeci">uint32_t period_us</div><div class="ttdoc">The period/interval of the report in microseconds.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:41</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a201aeb71fefb0d9d485914176a82dd80"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a201aeb71fefb0d9d485914176a82dd80">BNO08xRpt::RAD_2_DEG</a></div><div class="ttdeci">static const constexpr float RAD_2_DEG</div><div class="ttdoc">Constant for radian to degree conversions, sed in quaternion to euler function conversions.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:74</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a26bacc572187119339ec248bb4e7d6f3"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a26bacc572187119339ec248bb4e7d6f3">BNO08xRpt::unlock_user_data</a></div><div class="ttdeci">void unlock_user_data()</div><div class="ttdoc">Unlocks user data to allow other tasks to read/modify it.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:266</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a2c57f370fb08b793bb10ec22d5acca45"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a2c57f370fb08b793bb10ec22d5acca45">BNO08xRpt::TAG</a></div><div class="ttdeci">static const constexpr char * TAG</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:77</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a47a623eb0a1db51af76a03a103c32329"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a47a623eb0a1db51af76a03a103c32329">BNO08xRpt::signal_data_available</a></div><div class="ttdeci">void signal_data_available()</div><div class="ttdoc">Signals to BNO08x::data_available() that a new report has arrived.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:276</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a48e7b1a2c2ebc6b1f2f292735c0832a0"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a48e7b1a2c2ebc6b1f2f292735c0832a0">BNO08xRpt::lock_user_data</a></div><div class="ttdeci">void lock_user_data()</div><div class="ttdoc">Locks locks user data to only allow the calling task to read/modify it.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:256</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a4ee529725467412df396d5c610ff7bb4"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a4ee529725467412df396d5c610ff7bb4">BNO08xRpt::enable</a></div><div class="ttdeci">virtual bool enable(uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg)=0</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a5a1404a08918d66bb0f41f55220db6e5"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a5a1404a08918d66bb0f41f55220db6e5">BNO08xRpt::sync_ctx</a></div><div class="ttdeci">BNO08xPrivateTypes::bno08x_sync_ctx_t * sync_ctx</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:42</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a5b542b28c81fcd05cf2e3f3d2d437d46"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a5b542b28c81fcd05cf2e3f3d2d437d46">BNO08xRpt::register_cb</a></div><div class="ttdeci">bool register_cb(std::function&lt; void(void)&gt; cb_fxn)</div><div class="ttdoc">Registers a callback to execute when new data from a specific report is received.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:118</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a61e3451e93806e1b7eaf5f1387726765"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a61e3451e93806e1b7eaf5f1387726765">BNO08xRpt::unlock_sh2_HAL</a></div><div class="ttdeci">void unlock_sh2_HAL()</div><div class="ttdoc">Unlocks sh2 HAL lib to allow other tasks to call its APIs.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:246</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a63cd4ac9e96baa43eebe580f03307512"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a63cd4ac9e96baa43eebe580f03307512">BNO08xRpt::ID</a></div><div class="ttdeci">uint8_t ID</div><div class="ttdoc">Report ID, ex. SH2_ACCELERATION.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:39</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a74f6037286b51382535bab61680297ed"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a74f6037286b51382535bab61680297ed">BNO08xRpt::has_new_data</a></div><div class="ttdeci">bool has_new_data()</div><div class="ttdoc">Checks if a new report has been received since the last time this function was called.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:134</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a7a5619a74c1237c5abde2e4bd6619d12"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a7a5619a74c1237c5abde2e4bd6619d12">BNO08xRpt::lock_sh2_HAL</a></div><div class="ttdeci">void lock_sh2_HAL()</div><div class="ttdoc">Locks sh2 HAL lib to only allow the calling task to call its APIs.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:236</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a7ce8e48cadf59f49068af7f1cb680b38"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a7ce8e48cadf59f49068af7f1cb680b38">BNO08xRpt::get_sample_counts</a></div><div class="ttdeci">bool get_sample_counts(bno08x_sample_counts_t &amp;sample_counts)</div><div class="ttdoc">Gets sample counts for this sensor (see SH-2 ref manual 6.4.3.1)</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:170</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a7d147e7540a4c6aa19749844e14cdadc"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a7d147e7540a4c6aa19749844e14cdadc">BNO08xRpt::disable</a></div><div class="ttdeci">bool disable(sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg)</div><div class="ttdoc">Disables a sensor report by setting its period to 0us such that the BNO08x stops sending it.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:68</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_a970fb7e7d3745c62fec626f0ccf0759f"><div class="ttname"><a href="class_b_n_o08x_rpt.html#a970fb7e7d3745c62fec626f0ccf0759f">BNO08xRpt::update_data</a></div><div class="ttdeci">virtual void update_data(sh2_SensorValue_t *sensor_val)=0</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_aa0bed98a9a497d1f39e8245d05b02e9c"><div class="ttname"><a href="class_b_n_o08x_rpt.html#aa0bed98a9a497d1f39e8245d05b02e9c">BNO08xRpt::rpt_enable</a></div><div class="ttdeci">bool rpt_enable(uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg)</div><div class="ttdoc">Enables a sensor report such that the BNO08x begins sending it.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:17</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_ab3bb962696b135841ef7313bc631fc72"><div class="ttname"><a href="class_b_n_o08x_rpt.html#ab3bb962696b135841ef7313bc631fc72">BNO08xRpt::flush</a></div><div class="ttdeci">bool flush()</div><div class="ttdoc">Flush all buffered reports for this sensor/report module.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:152</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_ad5b054279b01204f61b4c0408acf51cf"><div class="ttname"><a href="class_b_n_o08x_rpt.html#ad5b054279b01204f61b4c0408acf51cf">BNO08xRpt::get_meta_data</a></div><div class="ttdeci">bool get_meta_data(bno08x_meta_data_t &amp;meta_data)</div><div class="ttdoc">Retrieves meta data for this sensor/report by reading respective record in FRS (flash record system).</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.cpp:215</div></div>
<div class="ttc" id="aclass_b_n_o08x_rpt_html_ae78feab5682a4697c5acad3ca6f12c2e"><div class="ttname"><a href="class_b_n_o08x_rpt.html#ae78feab5682a4697c5acad3ca6f12c2e">BNO08xRpt::rpt_bit</a></div><div class="ttdeci">EventBits_t rpt_bit</div><div class="ttdoc">Respective enable and data bit for report in evt_grp_rpt_en and evt_grp_rpt_data.</div><div class="ttdef"><b>Definition:</b> BNO08xRpt.hpp:40</div></div>
<div class="ttc" id="astruct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_html"><div class="ttname"><a href="struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t.html">BNO08xPrivateTypes::bno08x_sync_ctx_t</a></div><div class="ttdoc">Holds context used to synchronize tasks and callback execution.</div><div class="ttdef"><b>Definition:</b> BNO08xPrivateTypes.hpp:57</div></div>
<div class="ttc" id="astructbno08x__meta__data__t_html"><div class="ttname"><a href="structbno08x__meta__data__t.html">bno08x_meta_data_t</a></div><div class="ttdoc">Struct to represent sensor/report meta data, returned from BNO08xRpt::get_meta_data()</div><div class="ttdef"><b>Definition:</b> BNO08xGlobalTypes.hpp:1047</div></div>
<div class="ttc" id="astructbno08x__sample__counts__t_html"><div class="ttname"><a href="structbno08x__sample__counts__t.html">bno08x_sample_counts_t</a></div><div class="ttdoc">Struct to represent sample counts, returned from BNO08xRpt::get_sample_counts()</div><div class="ttdef"><b>Definition:</b> BNO08xGlobalTypes.hpp:1018</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_7f19fe0488f3daa36ae73de472a8d793.html">report</a></li><li class="navelem"><a class="el" href="_b_n_o08x_rpt_8hpp.html">BNO08xRpt.hpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4 </li>
</ul>
</div>
</body>
</html>