1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml"> 3<head> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5<meta http-equiv="X-UA-Compatible" content="IE=9"/> 6<meta name="generator" content="Doxygen 1.8.13"/> 7<meta name="viewport" content="width=device-width, initial-scale=1"/> 8<title>ISSDK: algorithms/sensorfusion/sources/sensor_fusion.h File Reference</title> 9<link href="tabs.css" rel="stylesheet" type="text/css"/> 10<script type="text/javascript" src="jquery.js"></script> 11<script type="text/javascript" src="dynsections.js"></script> 12<link href="issdk_stylesheet.css" rel="stylesheet" type="text/css" /> 13</head> 14<body> 15<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 16<div id="titlearea"> 17<table cellspacing="0" cellpadding="0"> 18 <tbody> 19 <tr style="height: 56px;"> 20 <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td> 21 <td id="projectalign" style="padding-left: 0.5em;"> 22 <div id="projectname">ISSDK 23  <span id="projectnumber">1.8</span> 24 </div> 25 <div id="projectbrief">IoT Sensing Software Development Kit</div> 26 </td> 27 </tr> 28 </tbody> 29</table> 30</div> 31<!-- end header part --> 32<!-- Generated by Doxygen 1.8.13 --> 33<script type="text/javascript" src="menudata.js"></script> 34<script type="text/javascript" src="menu.js"></script> 35<script type="text/javascript"> 36$(function() { 37 initMenu('',false,false,'search.php','Search'); 38}); 39</script> 40<div id="main-nav"></div> 41<div id="nav-path" class="navpath"> 42 <ul> 43<li class="navelem"><a class="el" href="dir_c0ce462e37efe0a8d60c01d75f78f8a0.html">algorithms</a></li><li class="navelem"><a class="el" href="dir_cb8ed5ffd1f20a5af7e420f81f312621.html">sensorfusion</a></li><li class="navelem"><a class="el" href="dir_c60867674b20e7d761cd401b87ce879d.html">sources</a></li> </ul> 44</div> 45</div><!-- top --> 46<div class="header"> 47 <div class="summary"> 48<a href="#nested-classes">Data Structures</a> | 49<a href="#define-members">Macros</a> | 50<a href="#typedef-members">Typedefs</a> | 51<a href="#enum-members">Enumerations</a> | 52<a href="#func-members">Functions</a> | 53<a href="#var-members">Variables</a> </div> 54 <div class="headertitle"> 55<div class="title">sensor_fusion.h File Reference</div> </div> 56</div><!--header--> 57<div class="contents"> 58 59<p>The <a class="el" href="a00914.html" title="The sensor_fusion.h file implements the top level programming interface. ">sensor_fusion.h</a> file implements the top level programming interface. 60<a href="#details">More...</a></p> 61<div class="textblock"><code>#include "math.h"</code><br /> 62<code>#include "stdbool.h"</code><br /> 63<code>#include "stdio.h"</code><br /> 64<code>#include "stdint.h"</code><br /> 65<code>#include "issdk_hal.h"</code><br /> 66<code>#include "build.h"</code><br /> 67<code>#include "<a class="el" href="a00857_source.html">magnetic.h</a>"</code><br /> 68<code>#include "<a class="el" href="a00908_source.html">precisionAccelerometer.h</a>"</code><br /> 69<code>#include "<a class="el" href="a00899_source.html">orientation.h</a>"</code><br /> 70<code>#include "<a class="el" href="a00176_source.html">register_io_spi.h</a>"</code><br /> 71<code>#include "<a class="el" href="a00890_source.html">matrix.h</a>"</code><br /> 72</div><div class="textblock"><div class="dynheader"> 73Include dependency graph for sensor_fusion.h:</div> 74<div class="dyncontent"> 75<div class="center"><img src="a00915.png" border="0" usemap="#algorithms_2sensorfusion_2sources_2sensor__fusion_8h" alt=""/></div> 76<map name="algorithms_2sensorfusion_2sources_2sensor__fusion_8h" id="algorithms_2sensorfusion_2sources_2sensor__fusion_8h"> 77<area shape="rect" id="node8" href="a00857.html" title="Lower level magnetic calibration interface. " alt="" coords="564,95,651,121"/> 78<area shape="rect" id="node9" href="a00908.html" title="Implements accelerometer calibration routines. " alt="" coords="675,95,844,121"/> 79<area shape="rect" id="node10" href="a00899.html" title="Functions to convert between various orientation representations. " alt="" coords="869,95,962,121"/> 80<area shape="rect" id="node11" href="a00176.html" title="The register_io_spi.h file declares low-level interface functions for reading and writing sensor regi..." alt="" coords="986,95,1103,121"/> 81<area shape="rect" id="node12" href="a00890.html" title="Matrix manipulation functions. " alt="" coords="1127,95,1197,121"/> 82</map> 83</div> 84</div><div class="textblock"><div class="dynheader"> 85This graph shows which files directly or indirectly include this file:</div> 86<div class="dyncontent"> 87<div class="center"><img src="a00916.png" border="0" usemap="#algorithms_2sensorfusion_2sources_2sensor__fusion_8hdep" alt=""/></div> 88<map name="algorithms_2sensorfusion_2sources_2sensor__fusion_8hdep" id="algorithms_2sensorfusion_2sources_2sensor__fusion_8hdep"> 89<area shape="rect" id="node2" href="a00470.html" title="The orientaion_application_baremetal_agm01.c file implements the ISSDK baremetal orientation applicat..." alt="" coords="5,95,156,151"/> 90<area shape="rect" id="node3" href="a00473.html" title="The orientaion_application_baremetal_agm04.c file implements the ISSDK baremetal orientation applicat..." alt="" coords="180,95,331,151"/> 91<area shape="rect" id="node4" href="a00476.html" title="The orientaion_application_baremetal_agmp03.c file implements the ISSDK baremetal orientation applica..." alt="" coords="355,95,505,151"/> 92<area shape="rect" id="node5" href="a00770.html" title="Provides functions to store calibration to NVM. " alt="" coords="529,102,725,143"/> 93<area shape="rect" id="node6" href="a00776.html" title="Defines control sub-system. " alt="" coords="749,102,908,143"/> 94<area shape="rect" id="node7" href="a00782.html" title="Defines control sub-system for LPC54114. " alt="" coords="932,102,1091,143"/> 95<area shape="rect" id="node8" href="a00785.html" title="Defines control sub-system. " alt="" coords="1115,102,1275,143"/> 96<area shape="rect" id="node9" href="a00788.html" title="ApplyPerturbation function used to analyze dynamic performance. " alt="" coords="1300,102,1459,143"/> 97<area shape="rect" id="node10" href="a00794.html" title="Command interpreter which interfaces to the Sensor Fusion Toolbox. " alt="" coords="1105,206,1329,247"/> 98<area shape="rect" id="node11" href="a00848.html" title="Lower level sensor fusion interface. " alt="" coords="1636,102,1795,143"/> 99<area shape="rect" id="node12" href="a00845.html" title="Lower level sensor fusion interface. " alt="" coords="1353,206,1512,247"/> 100<area shape="rect" id="node13" href="a00881.html" title="FreeRTOS (two task) implementation of sensor fusion on FRDM-K64F/FRDM-FXS-AGM02 with smart power-cycl..." alt="" coords="1537,199,1705,255"/> 101<area shape="rect" id="node14" href="a00896.html" title="Functions to convert between various orientation representations. " alt="" coords="1729,206,1888,247"/> 102<area shape="rect" id="node15" href="a00905.html" title="Implements accelerometer calibration routines. " alt="" coords="1912,206,2135,247"/> 103<area shape="rect" id="node16" href="a00911.html" title="The sensor_fusion.c file implements the top level programming interface. " alt="" coords="2159,206,2325,247"/> 104<area shape="rect" id="node17" href="a00800.html" title="Provides init() and read() functions for the FXAS21002 gyroscope. " alt="" coords="1971,102,2163,143"/> 105<area shape="rect" id="node18" href="a00803.html" title="Provides init() and read() functions for the FXLS8471Q 3-axis accel. " alt="" coords="2188,102,2381,143"/> 106<area shape="rect" id="node19" href="a00806.html" title="Provides init() and read() functions for the FXLS8952 3-axis accelerometer. " alt="" coords="2405,102,2588,143"/> 107<area shape="rect" id="node20" href="a00809.html" title="Provides init() and read() functions for the FXLS8962 3-axis accelerometer. " alt="" coords="2612,102,2795,143"/> 108<area shape="rect" id="node21" href="a00812.html" title="Provides init() and read() functions for the FXOS8700 6-axis accel plus mag. " alt="" coords="2819,102,3006,143"/> 109<area shape="rect" id="node22" href="a00815.html" title="middleware driver for NVM on Kinetis devices " alt="" coords="3031,102,3227,143"/> 110<area shape="rect" id="node23" href="a00821.html" title="Provides init() and read() functions for the MAG3110 magnetometer. " alt="" coords="3251,102,3433,143"/> 111<area shape="rect" id="node24" href="a00824.html" title="Provides init() and read() functions for the MMA845x 3-axis accel family. " alt="" coords="3457,102,3640,143"/> 112<area shape="rect" id="node25" href="a00827.html" title="Provides init() and read() functions for the MMA8652 3-axis accel family. " alt="" coords="3664,102,3847,143"/> 113<area shape="rect" id="node26" href="a00830.html" title="Provides init() and read() functions for the MPL3115 pressure sensor/altimeter. " alt="" coords="3871,102,4050,143"/> 114<area shape="rect" id="node27" href="a00839.html" title="Encapsulates the ARM sysTick counter, which is used for benchmarking. " alt="" coords="4075,102,4241,143"/> 115<area shape="rect" id="node28" href="a00851.html" title="Hardware Abstraction layer for the FRDM-FXS-MULT2-B sensor shield. " alt="" coords="4265,95,4424,151"/> 116<area shape="rect" id="node29" href="a00854.html" title="Lower level magnetic calibration interface. " alt="" coords="4448,102,4607,143"/> 117<area shape="rect" id="node30" href="a00860.html" title="FreeRTOS (two task) implementation of sensor fusion on FRDM-K64F. " alt="" coords="4631,95,4831,151"/> 118<area shape="rect" id="node31" href="a00863.html" title="FreeRTOS (two task) implementation of sensor fusion on FRDM-K64F/FRDM-STBC-AGM04 using MMA8652 (Accel..." alt="" coords="4855,95,5055,151"/> 119<area shape="rect" id="node32" href="a00866.html" title="FreeRTOS (two task) implementation of sensor fusion. " alt="" coords="5080,95,5287,151"/> 120<area shape="rect" id="node33" href="a00869.html" title="Bare metal implementation of sensor fusion on FRDM-K64F. " alt="" coords="5311,102,5490,143"/> 121<area shape="rect" id="node34" href="a00872.html" title="Bare metal implementation of sensor fusion on FRDM-K64F/FRDM-STBC-AGM04 using MMA8652 (Accel)..." alt="" coords="5514,95,5682,151"/> 122<area shape="rect" id="node35" href="a00875.html" title="Bare metal implementation of sensor fusion on FRDM-K64F. " alt="" coords="5706,95,5874,151"/> 123<area shape="rect" id="node36" href="a00878.html" title="FreeRTOS (two task) implementation of sensor fusion on FRDM-K64F/FRDM-FXS-AGM02. " alt="" coords="5899,95,6057,151"/> 124<area shape="rect" id="node37" href="a00884.html" title="FreeRTOS (two task) implementation of sensor fusion on FRDM-K64F. " alt="" coords="6081,95,6240,151"/> 125<area shape="rect" id="node38" href="a00887.html" title="Matrix manipulation functions. " alt="" coords="6264,102,6423,143"/> 126<area shape="rect" id="node39" href="a00893.html" title="check to see if the board is moving. " alt="" coords="6447,102,6610,143"/> 127<area shape="rect" id="node40" href="a00902.html" title="Implements streaming function for the status subsystem. See status.h. " alt="" coords="6634,102,6805,143"/> 128<area shape="rect" id="node41" href="a00920.html" title="Application-specific status subsystem. " alt="" coords="6829,102,6988,143"/> 129</map> 130</div> 131</div> 132<p><a href="a00914_source.html">Go to the source code of this file.</a></p> 133<table class="memberdecls"> 134<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> 135Data Structures</h2></td></tr> 136<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a03991.html">PhysicalSensor</a></td></tr> 137<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An instance of <a class="el" href="a03991.html" title="An instance of PhysicalSensor structure type should be allocated for each physical sensors (combo dev...">PhysicalSensor</a> structure type should be allocated for each physical sensors (combo devices = 1) <a href="a03991.html#details">More...</a><br /></td></tr> 138<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 139<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a03995.html">PressureSensor</a></td></tr> 140<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a03995.html" title="The PressureSensor structure stores raw and processed measurements for an altimeter. ">PressureSensor</a> structure stores raw and processed measurements for an altimeter. <a href="a03995.html#details">More...</a><br /></td></tr> 141<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 142<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a03999.html">AccelSensor</a></td></tr> 143<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a03999.html" title="The AccelSensor structure stores raw and processed measurements for a 3-axis accelerometer. ">AccelSensor</a> structure stores raw and processed measurements for a 3-axis accelerometer. <a href="a03999.html#details">More...</a><br /></td></tr> 144<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 145<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04003.html">MagSensor</a></td></tr> 146<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a04003.html" title="The MagSensor structure stores raw and processed measurements for a 3-axis magnetic sensor...">MagSensor</a> structure stores raw and processed measurements for a 3-axis magnetic sensor. <a href="a04003.html#details">More...</a><br /></td></tr> 147<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 148<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04007.html">GyroSensor</a></td></tr> 149<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a04007.html" title="The GyroSensor structure stores raw and processed measurements for a 3-axis gyroscope. ">GyroSensor</a> structure stores raw and processed measurements for a 3-axis gyroscope. <a href="a04007.html#details">More...</a><br /></td></tr> 150<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 151<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04011.html">FifoSensor</a></td></tr> 152<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a04011.html" title="The FifoSensor union allows us to use common pointers for Accel, Mag & Gyro logical sensor structures...">FifoSensor</a> union allows us to use common pointers for Accel, Mag & Gyro logical sensor structures. <a href="a04011.html#details">More...</a><br /></td></tr> 153<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 154<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04015.html">SV_1DOF_P_BASIC</a></td></tr> 155<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a04015.html" title="The SV_1DOF_P_BASIC structure contains state information for a pressure sensor/altimeter. ">SV_1DOF_P_BASIC</a> structure contains state information for a pressure sensor/altimeter. <a href="a04015.html#details">More...</a><br /></td></tr> 156<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 157<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04019.html">SV_3DOF_G_BASIC</a></td></tr> 158<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This is the 3DOF basic accelerometer state vector structure. <a href="a04019.html#details">More...</a><br /></td></tr> 159<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 160<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04023.html">SV_3DOF_B_BASIC</a></td></tr> 161<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This is the 3DOF basic magnetometer state vector structure/. <a href="a04023.html#details">More...</a><br /></td></tr> 162<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 163<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04027.html">SV_3DOF_Y_BASIC</a></td></tr> 164<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a04027.html" title="SV_3DOF_Y_BASIC structure is the 3DOF basic gyroscope state vector structure. ">SV_3DOF_Y_BASIC</a> structure is the 3DOF basic gyroscope state vector structure. <a href="a04027.html#details">More...</a><br /></td></tr> 165<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 166<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04031.html">SV_6DOF_GB_BASIC</a></td></tr> 167<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a04031.html" title="SV_6DOF_GB_BASIC is the 6DOF basic accelerometer and magnetometer state vector structure. ">SV_6DOF_GB_BASIC</a> is the 6DOF basic accelerometer and magnetometer state vector structure. <a href="a04031.html#details">More...</a><br /></td></tr> 168<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 169<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04035.html">SV_6DOF_GY_KALMAN</a></td></tr> 170<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a04035.html" title="SV_6DOF_GY_KALMAN is the 6DOF Kalman filter accelerometer and gyroscope state vector structure...">SV_6DOF_GY_KALMAN</a> is the 6DOF Kalman filter accelerometer and gyroscope state vector structure. <a href="a04035.html#details">More...</a><br /></td></tr> 171<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 172<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04039.html">SV_9DOF_GBY_KALMAN</a></td></tr> 173<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a04039.html" title="SV_9DOF_GBY_KALMAN is the 9DOF Kalman filter accelerometer, magnetometer and gyroscope state vector s...">SV_9DOF_GBY_KALMAN</a> is the 9DOF Kalman filter accelerometer, magnetometer and gyroscope state vector structure. <a href="a04039.html#details">More...</a><br /></td></tr> 174<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 175<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04043.html">SV_COMMON</a></td></tr> 176<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 177<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a04047.html">SensorFusionGlobals</a></td></tr> 178<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The top level fusion structure. <a href="a04047.html#details">More...</a><br /></td></tr> 179<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 180</table><table class="memberdecls"> 181<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> 182Macros</h2></td></tr> 183<tr class="memitem:a41f9c5fb8b08eb5dc3edce4dcb37fee7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>   1</td></tr> 184<tr class="memdesc:a41f9c5fb8b08eb5dc3edce4dcb37fee7"><td class="mdescLeft"> </td><td class="mdescRight">Boolean TRUE. <a href="#a41f9c5fb8b08eb5dc3edce4dcb37fee7">More...</a><br /></td></tr> 185<tr class="separator:a41f9c5fb8b08eb5dc3edce4dcb37fee7"><td class="memSeparator" colspan="2"> </td></tr> 186<tr class="memitem:a65e9886d74aaee76545e83dd09011727"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a65e9886d74aaee76545e83dd09011727">false</a>   0</td></tr> 187<tr class="memdesc:a65e9886d74aaee76545e83dd09011727"><td class="mdescLeft"> </td><td class="mdescRight">Boolean FALSE. <a href="#a65e9886d74aaee76545e83dd09011727">More...</a><br /></td></tr> 188<tr class="separator:a65e9886d74aaee76545e83dd09011727"><td class="memSeparator" colspan="2"> </td></tr> 189<tr class="memitem:aedb0274e7d55732f16fd67bfec361d83"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#aedb0274e7d55732f16fd67bfec361d83">SPI_ADDR</a>   0x00</td></tr> 190<tr class="separator:aedb0274e7d55732f16fd67bfec361d83"><td class="memSeparator" colspan="2"> </td></tr> 191<tr><td colspan="2"><div class="groupHeader">Vector Components</div></td></tr> 192<tr><td colspan="2"><div class="groupText"><p>Index values for accessing vector terms </p> 193</div></td></tr> 194<tr class="memitem:a48bbd27e913de8d7749dff9dec2fe816"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a48bbd27e913de8d7749dff9dec2fe816">CHX</a>   0</td></tr> 195<tr class="memdesc:a48bbd27e913de8d7749dff9dec2fe816"><td class="mdescLeft"> </td><td class="mdescRight">Used to access X-channel entries in various data data structures. <a href="#a48bbd27e913de8d7749dff9dec2fe816">More...</a><br /></td></tr> 196<tr class="separator:a48bbd27e913de8d7749dff9dec2fe816"><td class="memSeparator" colspan="2"> </td></tr> 197<tr class="memitem:a6a25024f52cc6bea13d19f8b68456cea"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a6a25024f52cc6bea13d19f8b68456cea">CHY</a>   1</td></tr> 198<tr class="memdesc:a6a25024f52cc6bea13d19f8b68456cea"><td class="mdescLeft"> </td><td class="mdescRight">Used to access Y-channel entries in various data data structures. <a href="#a6a25024f52cc6bea13d19f8b68456cea">More...</a><br /></td></tr> 199<tr class="separator:a6a25024f52cc6bea13d19f8b68456cea"><td class="memSeparator" colspan="2"> </td></tr> 200<tr class="memitem:a76143891435bdd7248857e45b93521ed"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a76143891435bdd7248857e45b93521ed">CHZ</a>   2</td></tr> 201<tr class="memdesc:a76143891435bdd7248857e45b93521ed"><td class="mdescLeft"> </td><td class="mdescRight">Used to access Z-channel entries in various data data structures. <a href="#a76143891435bdd7248857e45b93521ed">More...</a><br /></td></tr> 202<tr class="separator:a76143891435bdd7248857e45b93521ed"><td class="memSeparator" colspan="2"> </td></tr> 203<tr><td colspan="2"><div class="groupHeader">Generic bit-field values</div></td></tr> 204<tr><td colspan="2"><div class="groupText"><p>Generic bit-field values </p> 205</div></td></tr> 206<tr class="memitem:a8a03ef52aa4926d1d75cb647ac768622"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a8a03ef52aa4926d1d75cb647ac768622">B0</a>   (1 << 0)</td></tr> 207<tr class="separator:a8a03ef52aa4926d1d75cb647ac768622"><td class="memSeparator" colspan="2"> </td></tr> 208<tr class="memitem:a7b21d6a6a4573b4997b1f04b01cd4efb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a7b21d6a6a4573b4997b1f04b01cd4efb">B1</a>   (1 << 1)</td></tr> 209<tr class="separator:a7b21d6a6a4573b4997b1f04b01cd4efb"><td class="memSeparator" colspan="2"> </td></tr> 210<tr class="memitem:a6945d50f798e1fde624d70c74457090e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a6945d50f798e1fde624d70c74457090e">B2</a>   (1 << 2)</td></tr> 211<tr class="separator:a6945d50f798e1fde624d70c74457090e"><td class="memSeparator" colspan="2"> </td></tr> 212<tr class="memitem:ae6ac0edb1e2c9c7672ab9488d8b65be9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ae6ac0edb1e2c9c7672ab9488d8b65be9">B3</a>   (1 << 3)</td></tr> 213<tr class="separator:ae6ac0edb1e2c9c7672ab9488d8b65be9"><td class="memSeparator" colspan="2"> </td></tr> 214<tr><td colspan="2"><div class="groupHeader">Math Constants</div></td></tr> 215<tr><td colspan="2"><div class="groupText"><p>useful multiplicative conversion constants </p> 216</div></td></tr> 217<tr class="memitem:a598a3330b3c21701223ee0ca14316eca"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a598a3330b3c21701223ee0ca14316eca">PI</a>   3.141592654F</td></tr> 218<tr class="memdesc:a598a3330b3c21701223ee0ca14316eca"><td class="mdescLeft"> </td><td class="mdescRight">pi <a href="#a598a3330b3c21701223ee0ca14316eca">More...</a><br /></td></tr> 219<tr class="separator:a598a3330b3c21701223ee0ca14316eca"><td class="memSeparator" colspan="2"> </td></tr> 220<tr class="memitem:a8546c61523760057efea38efda6ee4c7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a8546c61523760057efea38efda6ee4c7">PIOVER2</a>   1.570796327F</td></tr> 221<tr class="memdesc:a8546c61523760057efea38efda6ee4c7"><td class="mdescLeft"> </td><td class="mdescRight">pi / 2 <a href="#a8546c61523760057efea38efda6ee4c7">More...</a><br /></td></tr> 222<tr class="separator:a8546c61523760057efea38efda6ee4c7"><td class="memSeparator" colspan="2"> </td></tr> 223<tr class="memitem:abc3ba6d213a82272a98beba63c76d9e6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#abc3ba6d213a82272a98beba63c76d9e6">FPIOVER180</a>   0.01745329251994F</td></tr> 224<tr class="memdesc:abc3ba6d213a82272a98beba63c76d9e6"><td class="mdescLeft"> </td><td class="mdescRight">degrees to radians conversion = pi / 180 <a href="#abc3ba6d213a82272a98beba63c76d9e6">More...</a><br /></td></tr> 225<tr class="separator:abc3ba6d213a82272a98beba63c76d9e6"><td class="memSeparator" colspan="2"> </td></tr> 226<tr class="memitem:a7dda439ad15db9af285245ea9b8c7f73"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a7dda439ad15db9af285245ea9b8c7f73">F180OVERPI</a>   57.2957795130823F</td></tr> 227<tr class="memdesc:a7dda439ad15db9af285245ea9b8c7f73"><td class="mdescLeft"> </td><td class="mdescRight">radians to degrees conversion = 180 / pi <a href="#a7dda439ad15db9af285245ea9b8c7f73">More...</a><br /></td></tr> 228<tr class="separator:a7dda439ad15db9af285245ea9b8c7f73"><td class="memSeparator" colspan="2"> </td></tr> 229<tr class="memitem:adadcee44be4e1e30f8bef6d6f3c395f1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#adadcee44be4e1e30f8bef6d6f3c395f1">F180OVERPISQ</a>   3282.8063500117F</td></tr> 230<tr class="memdesc:adadcee44be4e1e30f8bef6d6f3c395f1"><td class="mdescLeft"> </td><td class="mdescRight">square of F180OVERPI <a href="#adadcee44be4e1e30f8bef6d6f3c395f1">More...</a><br /></td></tr> 231<tr class="separator:adadcee44be4e1e30f8bef6d6f3c395f1"><td class="memSeparator" colspan="2"> </td></tr> 232<tr class="memitem:a40061ef4251d0b68cfee09c54d7b91ab"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a40061ef4251d0b68cfee09c54d7b91ab">ONETHIRD</a>   0.33333333F</td></tr> 233<tr class="memdesc:a40061ef4251d0b68cfee09c54d7b91ab"><td class="mdescLeft"> </td><td class="mdescRight">one third <a href="#a40061ef4251d0b68cfee09c54d7b91ab">More...</a><br /></td></tr> 234<tr class="separator:a40061ef4251d0b68cfee09c54d7b91ab"><td class="memSeparator" colspan="2"> </td></tr> 235<tr class="memitem:a0002844e5fb22dfb16883142e64ce617"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a0002844e5fb22dfb16883142e64ce617">ONESIXTH</a>   0.166666667F</td></tr> 236<tr class="memdesc:a0002844e5fb22dfb16883142e64ce617"><td class="mdescLeft"> </td><td class="mdescRight">one sixth <a href="#a0002844e5fb22dfb16883142e64ce617">More...</a><br /></td></tr> 237<tr class="separator:a0002844e5fb22dfb16883142e64ce617"><td class="memSeparator" colspan="2"> </td></tr> 238<tr class="memitem:a8cbf59b7a08a3c4de29e0f7f996e2987"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a8cbf59b7a08a3c4de29e0f7f996e2987">ONESIXTEENTH</a>   0.0625F</td></tr> 239<tr class="memdesc:a8cbf59b7a08a3c4de29e0f7f996e2987"><td class="mdescLeft"> </td><td class="mdescRight">one sixteenth <a href="#a8cbf59b7a08a3c4de29e0f7f996e2987">More...</a><br /></td></tr> 240<tr class="separator:a8cbf59b7a08a3c4de29e0f7f996e2987"><td class="memSeparator" colspan="2"> </td></tr> 241<tr class="memitem:a94a6759de3142f2bc83a32e3b4d8508a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a94a6759de3142f2bc83a32e3b4d8508a">ONEOVER12</a>   0.083333333F</td></tr> 242<tr class="memdesc:a94a6759de3142f2bc83a32e3b4d8508a"><td class="mdescLeft"> </td><td class="mdescRight">1 / 12 <a href="#a94a6759de3142f2bc83a32e3b4d8508a">More...</a><br /></td></tr> 243<tr class="separator:a94a6759de3142f2bc83a32e3b4d8508a"><td class="memSeparator" colspan="2"> </td></tr> 244<tr class="memitem:acd35b81920df2a6d46b2e5215b81b198"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#acd35b81920df2a6d46b2e5215b81b198">ONEOVER48</a>   0.02083333333F</td></tr> 245<tr class="memdesc:acd35b81920df2a6d46b2e5215b81b198"><td class="mdescLeft"> </td><td class="mdescRight">1 / 48 <a href="#acd35b81920df2a6d46b2e5215b81b198">More...</a><br /></td></tr> 246<tr class="separator:acd35b81920df2a6d46b2e5215b81b198"><td class="memSeparator" colspan="2"> </td></tr> 247<tr class="memitem:ae330ddc10eedf2178482ce0807cba343"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ae330ddc10eedf2178482ce0807cba343">ONEOVER120</a>   0.0083333333F</td></tr> 248<tr class="memdesc:ae330ddc10eedf2178482ce0807cba343"><td class="mdescLeft"> </td><td class="mdescRight">1 / 120 <a href="#ae330ddc10eedf2178482ce0807cba343">More...</a><br /></td></tr> 249<tr class="separator:ae330ddc10eedf2178482ce0807cba343"><td class="memSeparator" colspan="2"> </td></tr> 250<tr class="memitem:a01bcfab4a924ef7d88838c48a7f960d8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a01bcfab4a924ef7d88838c48a7f960d8">ONEOVER3840</a>   0.0002604166667F</td></tr> 251<tr class="memdesc:a01bcfab4a924ef7d88838c48a7f960d8"><td class="mdescLeft"> </td><td class="mdescRight">1 / 3840 <a href="#a01bcfab4a924ef7d88838c48a7f960d8">More...</a><br /></td></tr> 252<tr class="separator:a01bcfab4a924ef7d88838c48a7f960d8"><td class="memSeparator" colspan="2"> </td></tr> 253<tr class="memitem:a26a895544cc9230a30e569382bfbbde9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a26a895544cc9230a30e569382bfbbde9">ONEOVERSQRT2</a>   0.707106781F</td></tr> 254<tr class="memdesc:a26a895544cc9230a30e569382bfbbde9"><td class="mdescLeft"> </td><td class="mdescRight">1/sqrt(2) <a href="#a26a895544cc9230a30e569382bfbbde9">More...</a><br /></td></tr> 255<tr class="separator:a26a895544cc9230a30e569382bfbbde9"><td class="memSeparator" colspan="2"> </td></tr> 256<tr class="memitem:a1483f9fe4e0329bd33b20b12af4df0d1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a1483f9fe4e0329bd33b20b12af4df0d1">SQRT15OVER4</a>   0.968245837F</td></tr> 257<tr class="memdesc:a1483f9fe4e0329bd33b20b12af4df0d1"><td class="mdescLeft"> </td><td class="mdescRight">sqrt(15)/4 <a href="#a1483f9fe4e0329bd33b20b12af4df0d1">More...</a><br /></td></tr> 258<tr class="separator:a1483f9fe4e0329bd33b20b12af4df0d1"><td class="memSeparator" colspan="2"> </td></tr> 259<tr class="memitem:a4a253b5fa1c6be6c7786d172ef265c8e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a4a253b5fa1c6be6c7786d172ef265c8e">GTOMSEC2</a>   9.80665</td></tr> 260<tr class="memdesc:a4a253b5fa1c6be6c7786d172ef265c8e"><td class="mdescLeft"> </td><td class="mdescRight">standard gravity in m/s2 <a href="#a4a253b5fa1c6be6c7786d172ef265c8e">More...</a><br /></td></tr> 261<tr class="separator:a4a253b5fa1c6be6c7786d172ef265c8e"><td class="memSeparator" colspan="2"> </td></tr> 262</table><table class="memberdecls"> 263<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> 264Typedefs</h2></td></tr> 265<tr class="memitem:ad1d4d649bfa88f655f8f2d1ee5ae5ace"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaa">quaternion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ad1d4d649bfa88f655f8f2d1ee5ae5ace">quaternion_type</a></td></tr> 266<tr class="memdesc:ad1d4d649bfa88f655f8f2d1ee5ae5ace"><td class="mdescLeft"> </td><td class="mdescRight">the quaternion type to be transmitted <a href="#ad1d4d649bfa88f655f8f2d1ee5ae5ace">More...</a><br /></td></tr> 267<tr class="separator:ad1d4d649bfa88f655f8f2d1ee5ae5ace"><td class="memSeparator" colspan="2"> </td></tr> 268<tr class="memitem:aba7361df44c2e0eef7667910d07989a1"><td class="memItemLeft" align="right" valign="top">typedef int8_t() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#aba7361df44c2e0eef7667910d07989a1">initializeSensor_t</a>(struct <a class="el" href="a03991.html">PhysicalSensor</a> *sensor, struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 269<tr class="separator:aba7361df44c2e0eef7667910d07989a1"><td class="memSeparator" colspan="2"> </td></tr> 270<tr class="memitem:afaa7504682b3a0032b0654a73fef1017"><td class="memItemLeft" align="right" valign="top">typedef int8_t() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#afaa7504682b3a0032b0654a73fef1017">readSensor_t</a>(struct <a class="el" href="a03991.html">PhysicalSensor</a> *sensor, struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 271<tr class="separator:afaa7504682b3a0032b0654a73fef1017"><td class="memSeparator" colspan="2"> </td></tr> 272<tr class="memitem:a5808c4001587c0ba91a6774e978568e1"><td class="memItemLeft" align="right" valign="top">typedef int8_t() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a5808c4001587c0ba91a6774e978568e1">readSensors_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, uint16_t read_loop_counter)</td></tr> 273<tr class="separator:a5808c4001587c0ba91a6774e978568e1"><td class="memSeparator" colspan="2"> </td></tr> 274<tr class="memitem:a39e532557a164efa4ae8b0f87aacca68"><td class="memItemLeft" align="right" valign="top">typedef int8_t() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a39e532557a164efa4ae8b0f87aacca68">installSensor_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, struct <a class="el" href="a03991.html">PhysicalSensor</a> *sensor, uint16_t addr, uint16_t schedule, void *bus_driver, <a class="el" href="a03819.html">registerDeviceInfo_t</a> *busInfo, <a class="el" href="a00914.html#aba7361df44c2e0eef7667910d07989a1">initializeSensor_t</a> *initialize, <a class="el" href="a00914.html#afaa7504682b3a0032b0654a73fef1017">readSensor_t</a> *read)</td></tr> 275<tr class="separator:a39e532557a164efa4ae8b0f87aacca68"><td class="memSeparator" colspan="2"> </td></tr> 276<tr class="memitem:a91bce55afe8312557380a10d347fb7eb"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a91bce55afe8312557380a10d347fb7eb">initializeFusionEngine_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 277<tr class="separator:a91bce55afe8312557380a10d347fb7eb"><td class="memSeparator" colspan="2"> </td></tr> 278<tr class="memitem:ab0f33bc511631f43f4dce6d5b9612e4e"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ab0f33bc511631f43f4dce6d5b9612e4e">runFusion_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 279<tr class="separator:ab0f33bc511631f43f4dce6d5b9612e4e"><td class="memSeparator" colspan="2"> </td></tr> 280<tr class="memitem:a45fd326dad5e1dff86531d9301ea3dc3"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a45fd326dad5e1dff86531d9301ea3dc3">clearFIFOs_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 281<tr class="separator:a45fd326dad5e1dff86531d9301ea3dc3"><td class="memSeparator" colspan="2"> </td></tr> 282<tr class="memitem:ad3c3296510731ec2c07cb9e6fa39a56d"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ad3c3296510731ec2c07cb9e6fa39a56d">conditionSensorReadings_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 283<tr class="separator:ad3c3296510731ec2c07cb9e6fa39a56d"><td class="memSeparator" colspan="2"> </td></tr> 284<tr class="memitem:a9b6853545f9fd000a9ef11a03b4c130e"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a9b6853545f9fd000a9ef11a03b4c130e">applyPerturbation_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 285<tr class="separator:a9b6853545f9fd000a9ef11a03b4c130e"><td class="memSeparator" colspan="2"> </td></tr> 286<tr class="memitem:ac4d8e7ed390a6a3ae2e8749ddb95d1b1"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ac4d8e7ed390a6a3ae2e8749ddb95d1b1">setStatus_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">fusion_status_t</a> <a class="el" href="a00428.html#a369536ebfe385731562c0b55dd6f3a7c">status</a>)</td></tr> 287<tr class="separator:ac4d8e7ed390a6a3ae2e8749ddb95d1b1"><td class="memSeparator" colspan="2"> </td></tr> 288<tr class="memitem:af54c289bd293ed81c124d5740c19e9ef"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#af54c289bd293ed81c124d5740c19e9ef">updateStatus_t</a>(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 289<tr class="separator:af54c289bd293ed81c124d5740c19e9ef"><td class="memSeparator" colspan="2"> </td></tr> 290<tr class="memitem:a0fd56d0de735d61a46a723c2fd01b2c0"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a0fd56d0de735d61a46a723c2fd01b2c0">ssSetStatus_t</a>(struct <a class="el" href="a04051.html">StatusSubsystem</a> *pStatus, <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">fusion_status_t</a> <a class="el" href="a00428.html#a369536ebfe385731562c0b55dd6f3a7c">status</a>)</td></tr> 291<tr class="separator:a0fd56d0de735d61a46a723c2fd01b2c0"><td class="memSeparator" colspan="2"> </td></tr> 292<tr class="memitem:a959d6eb60f9aae409ef9cf7d654e08cc"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a959d6eb60f9aae409ef9cf7d654e08cc">ssUpdateStatus_t</a>(struct <a class="el" href="a04051.html">StatusSubsystem</a> *pStatus)</td></tr> 293<tr class="separator:a959d6eb60f9aae409ef9cf7d654e08cc"><td class="memSeparator" colspan="2"> </td></tr> 294<tr class="memitem:a3fe0b3e3d934e9d4af406ff60f451387"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a04043.html">SV_COMMON</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a3fe0b3e3d934e9d4af406ff60f451387">SV_ptr</a></td></tr> 295<tr class="separator:a3fe0b3e3d934e9d4af406ff60f451387"><td class="memSeparator" colspan="2"> </td></tr> 296<tr class="memitem:ae22cd912bc7ce5c370d4854c16c677a0"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a04047.html">SensorFusionGlobals</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ae22cd912bc7ce5c370d4854c16c677a0">SensorFusionGlobals</a></td></tr> 297<tr class="memdesc:ae22cd912bc7ce5c370d4854c16c677a0"><td class="mdescLeft"> </td><td class="mdescRight">The top level fusion structure. <a href="#ae22cd912bc7ce5c370d4854c16c677a0">More...</a><br /></td></tr> 298<tr class="separator:ae22cd912bc7ce5c370d4854c16c677a0"><td class="memSeparator" colspan="2"> </td></tr> 299<tr><td colspan="2"><div class="groupHeader">Integer Typedefs</div></td></tr> 300<tr><td colspan="2"><div class="groupText"><p>Typedefs to map common integer types to standard form </p> 301</div></td></tr> 302<tr class="memitem:a0c8186d9b9b7880309c27230bbb5e69d"><td class="memItemLeft" align="right" valign="top">typedef unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a0c8186d9b9b7880309c27230bbb5e69d">byte</a></td></tr> 303<tr class="separator:a0c8186d9b9b7880309c27230bbb5e69d"><td class="memSeparator" colspan="2"> </td></tr> 304<tr class="memitem:aa79c2d3de4fcd200458c406f40b2ae64"><td class="memItemLeft" align="right" valign="top">typedef int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#aa79c2d3de4fcd200458c406f40b2ae64">int8</a></td></tr> 305<tr class="separator:aa79c2d3de4fcd200458c406f40b2ae64"><td class="memSeparator" colspan="2"> </td></tr> 306<tr class="memitem:aa0d0fdc87fd135ef2bedb030901cdb9c"><td class="memItemLeft" align="right" valign="top">typedef int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#aa0d0fdc87fd135ef2bedb030901cdb9c">int16</a></td></tr> 307<tr class="separator:aa0d0fdc87fd135ef2bedb030901cdb9c"><td class="memSeparator" colspan="2"> </td></tr> 308<tr class="memitem:ab7903878916593daecbeb95b98115ab0"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ab7903878916593daecbeb95b98115ab0">int32</a></td></tr> 309<tr class="separator:ab7903878916593daecbeb95b98115ab0"><td class="memSeparator" colspan="2"> </td></tr> 310<tr class="memitem:a33a5e996e7a90acefb8b1c0bea47e365"><td class="memItemLeft" align="right" valign="top">typedef uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a33a5e996e7a90acefb8b1c0bea47e365">uint8</a></td></tr> 311<tr class="separator:a33a5e996e7a90acefb8b1c0bea47e365"><td class="memSeparator" colspan="2"> </td></tr> 312<tr class="memitem:ac2a9e79eb120216f855626495b7bd18a"><td class="memItemLeft" align="right" valign="top">typedef uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ac2a9e79eb120216f855626495b7bd18a">uint16</a></td></tr> 313<tr class="separator:ac2a9e79eb120216f855626495b7bd18a"><td class="memSeparator" colspan="2"> </td></tr> 314<tr class="memitem:acbd4acd0d29e2d6c43104827f77d9cd2"><td class="memItemLeft" align="right" valign="top">typedef uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#acbd4acd0d29e2d6c43104827f77d9cd2">uint32</a></td></tr> 315<tr class="separator:acbd4acd0d29e2d6c43104827f77d9cd2"><td class="memSeparator" colspan="2"> </td></tr> 316</table><table class="memberdecls"> 317<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> 318Enumerations</h2></td></tr> 319<tr class="memitem:a5f469312b3865f2d3efea2edd6f8afaa"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaa">quaternion</a> { <br /> 320  <a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaaa19bd87b11e82b9047ad750fb62711ba8">Q3</a>, 321<a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaaada2dae63d5865a8446caa7938c73c5dc">Q3M</a>, 322<a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaaaf63c9f6fec59717499a84048f682cf8a">Q3G</a>, 323<a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaaa0cf62dda224dcbac09ae26cd46ccce01">Q6MA</a>, 324<br /> 325  <a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaaa59c8dc55b720396019ef93eb943a3b96">Q6AG</a>, 326<a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaaa9c5ceeb2bc9bf27379c7e72bc4d0ff13">Q9</a> 327<br /> 328 }<tr class="memdesc:a5f469312b3865f2d3efea2edd6f8afaa"><td class="mdescLeft"> </td><td class="mdescRight">the quaternion type to be transmitted <a href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaa">More...</a><br /></td></tr> 329</td></tr> 330<tr class="separator:a5f469312b3865f2d3efea2edd6f8afaa"><td class="memSeparator" colspan="2"> </td></tr> 331<tr class="memitem:a69ee883e1c22b117df163c0bd83f66dd"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">fusion_status_t</a> { <br /> 332  <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66ddaac132f2982b98bcaa3445e535a03ff75">OFF</a>, 333<a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dda646fa15851d5e9f6784d044a50eef221">INITIALIZING</a>, 334<a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dda3443484ca1aa8edccfe37956838d8737">LOWPOWER</a>, 335<a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dda50d1448013c6f17125caee18aa418af7">NORMAL</a>, 336<br /> 337  <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dda07ce7fbb8426233b33e7e7512bb0f55d">RECEIVING_WIRED</a>, 338<a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dda60ca895e5ed18a6e1928d4750c7968a0">RECEIVING_WIRELESS</a>, 339<a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dda2142c7e506bbaf9dba4175fee014862f">HARD_FAULT</a>, 340<a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66ddaef2af24f93594b49dcdee589a73e1772">SOFT_FAULT</a> 341<br /> 342 }<tr class="memdesc:a69ee883e1c22b117df163c0bd83f66dd"><td class="mdescLeft"> </td><td class="mdescRight">Application-specific serial communications system. <a href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">More...</a><br /></td></tr> 343</td></tr> 344<tr class="separator:a69ee883e1c22b117df163c0bd83f66dd"><td class="memSeparator" colspan="2"> </td></tr> 345</table><table class="memberdecls"> 346<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 347Functions</h2></td></tr> 348<tr class="memitem:a367d92b99365a8143700b76439915d65"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a367d92b99365a8143700b76439915d65">initSensorFusionGlobals</a> (<a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, struct <a class="el" href="a04051.html">StatusSubsystem</a> *pStatusSubsystem, struct <a class="el" href="a03967.html">ControlSubsystem</a> *pControlSubsystem)</td></tr> 349<tr class="memdesc:a367d92b99365a8143700b76439915d65"><td class="mdescLeft"> </td><td class="mdescRight">utility function to insert default values in the top level structure <a href="#a367d92b99365a8143700b76439915d65">More...</a><br /></td></tr> 350<tr class="separator:a367d92b99365a8143700b76439915d65"><td class="memSeparator" colspan="2"> </td></tr> 351<tr class="memitem:aef2b1f23f820d2b513bc827f8baffd0d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#aef2b1f23f820d2b513bc827f8baffd0d">conditionSensorReadings</a> (<a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 352<tr class="separator:aef2b1f23f820d2b513bc827f8baffd0d"><td class="memSeparator" colspan="2"> </td></tr> 353<tr class="memitem:a9af8710b3e87acd2a33e7988b2d75b6c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a9af8710b3e87acd2a33e7988b2d75b6c">clearFIFOs</a> (<a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td></tr> 354<tr class="memdesc:a9af8710b3e87acd2a33e7988b2d75b6c"><td class="mdescLeft"> </td><td class="mdescRight">Function to clear FIFO at the end of each fusion computation. <a href="#a9af8710b3e87acd2a33e7988b2d75b6c">More...</a><br /></td></tr> 355<tr class="separator:a9af8710b3e87acd2a33e7988b2d75b6c"><td class="memSeparator" colspan="2"> </td></tr> 356<tr class="memitem:a017fe7907e982f06eb66a446d055aaad"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a017fe7907e982f06eb66a446d055aaad">zeroArray</a> (struct <a class="el" href="a04051.html">StatusSubsystem</a> *pStatus, void *<a class="el" href="a00428.html#a0155cf01983779a6f386fb8eac40d37c">data</a>, uint16_t <a class="el" href="a00521.html#a18e09d6eabccd6dfc2d5066542020e59">size</a>, uint16_t numElements, uint8_t check)</td></tr> 357<tr class="separator:a017fe7907e982f06eb66a446d055aaad"><td class="memSeparator" colspan="2"> </td></tr> 358<tr class="memitem:a2686eeb8ae44e588362478db1f757a0e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a2686eeb8ae44e588362478db1f757a0e">conditionSample</a> (int16_t sample[3])</td></tr> 359<tr class="memdesc:a2686eeb8ae44e588362478db1f757a0e"><td class="mdescLeft"> </td><td class="mdescRight">conditionSample ensures that we never encounter the maximum negative two's complement value for a 16-bit variable (-32768). <a href="#a2686eeb8ae44e588362478db1f757a0e">More...</a><br /></td></tr> 360<tr class="separator:a2686eeb8ae44e588362478db1f757a0e"><td class="memSeparator" colspan="2"> </td></tr> 361<tr class="memitem:ae7d2343e9a63bd3879ae477ec4536f6a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ae7d2343e9a63bd3879ae477ec4536f6a">addToFifo</a> (union <a class="el" href="a04011.html">FifoSensor</a> *sensor, uint16_t maxFifoSize, int16_t sample[3])</td></tr> 362<tr class="memdesc:ae7d2343e9a63bd3879ae477ec4536f6a"><td class="mdescLeft"> </td><td class="mdescRight">addToFifo is called from within sensor driver read functions <a href="#ae7d2343e9a63bd3879ae477ec4536f6a">More...</a><br /></td></tr> 363<tr class="separator:ae7d2343e9a63bd3879ae477ec4536f6a"><td class="memSeparator" colspan="2"> </td></tr> 364<tr class="memitem:afe116134dc1e5109171e81bab6c2afd8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#afe116134dc1e5109171e81bab6c2afd8">ApplyAccelHAL</a> (struct <a class="el" href="a03999.html">AccelSensor</a> *Accel)</td></tr> 365<tr class="memdesc:afe116134dc1e5109171e81bab6c2afd8"><td class="mdescLeft"> </td><td class="mdescRight">Apply the accelerometer Hardware Abstraction Layer. <a href="#afe116134dc1e5109171e81bab6c2afd8">More...</a><br /></td></tr> 366<tr class="separator:afe116134dc1e5109171e81bab6c2afd8"><td class="memSeparator" colspan="2"> </td></tr> 367<tr class="memitem:a706bba14747c3d73c6f2bb2e95b7d558"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a706bba14747c3d73c6f2bb2e95b7d558">ApplyMagHAL</a> (struct <a class="el" href="a04003.html">MagSensor</a> *Mag)</td></tr> 368<tr class="memdesc:a706bba14747c3d73c6f2bb2e95b7d558"><td class="mdescLeft"> </td><td class="mdescRight">Apply the magnetometer Hardware Abstraction Layer. <a href="#a706bba14747c3d73c6f2bb2e95b7d558">More...</a><br /></td></tr> 369<tr class="separator:a706bba14747c3d73c6f2bb2e95b7d558"><td class="memSeparator" colspan="2"> </td></tr> 370<tr class="memitem:a9ef1a7ef89f75f9436eb6a121a1a1a66"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a9ef1a7ef89f75f9436eb6a121a1a1a66">ApplyGyroHAL</a> (struct <a class="el" href="a04007.html">GyroSensor</a> *Gyro)</td></tr> 371<tr class="memdesc:a9ef1a7ef89f75f9436eb6a121a1a1a66"><td class="mdescLeft"> </td><td class="mdescRight">Apply the gyroscope Hardware Abstraction Layer. <a href="#a9ef1a7ef89f75f9436eb6a121a1a1a66">More...</a><br /></td></tr> 372<tr class="separator:a9ef1a7ef89f75f9436eb6a121a1a1a66"><td class="memSeparator" colspan="2"> </td></tr> 373</table><table class="memberdecls"> 374<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> 375Variables</h2></td></tr> 376<tr class="memitem:a9b8e6eefda0d8416278527b22f1ef018"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00914.html#a39e532557a164efa4ae8b0f87aacca68">installSensor_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a9b8e6eefda0d8416278527b22f1ef018">installSensor</a></td></tr> 377<tr class="separator:a9b8e6eefda0d8416278527b22f1ef018"><td class="memSeparator" colspan="2"> </td></tr> 378<tr class="memitem:a99db746b404e59b1c5d3bd48a2c9781b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00914.html#a91bce55afe8312557380a10d347fb7eb">initializeFusionEngine_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a99db746b404e59b1c5d3bd48a2c9781b">initializeFusionEngine</a></td></tr> 379<tr class="separator:a99db746b404e59b1c5d3bd48a2c9781b"><td class="memSeparator" colspan="2"> </td></tr> 380<tr class="memitem:a78120ff16602bda9664a1874f66b3d72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00914.html#ab0f33bc511631f43f4dce6d5b9612e4e">runFusion_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a78120ff16602bda9664a1874f66b3d72">runFusion</a></td></tr> 381<tr class="separator:a78120ff16602bda9664a1874f66b3d72"><td class="memSeparator" colspan="2"> </td></tr> 382<tr class="memitem:ae645f944ac29c74108a8af89411ce81e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00914.html#a5808c4001587c0ba91a6774e978568e1">readSensors_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#ae645f944ac29c74108a8af89411ce81e">readSensors</a></td></tr> 383<tr class="separator:ae645f944ac29c74108a8af89411ce81e"><td class="memSeparator" colspan="2"> </td></tr> 384<tr class="memitem:acf78cd74de357ad4670c6efeea8506cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00914.html#a9b6853545f9fd000a9ef11a03b4c130e">applyPerturbation_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#acf78cd74de357ad4670c6efeea8506cf">ApplyPerturbation</a></td></tr> 385<tr class="memdesc:acf78cd74de357ad4670c6efeea8506cf"><td class="mdescLeft"> </td><td class="mdescRight">ApplyPerturbation is a reverse unit-step test function. <a href="#acf78cd74de357ad4670c6efeea8506cf">More...</a><br /></td></tr> 386<tr class="separator:acf78cd74de357ad4670c6efeea8506cf"><td class="memSeparator" colspan="2"> </td></tr> 387</table> 388<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 389<div class="textblock"><p>The <a class="el" href="a00914.html" title="The sensor_fusion.h file implements the top level programming interface. ">sensor_fusion.h</a> file implements the top level programming interface. </p> 390 391<p class="definition">Definition in file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 392</div><h2 class="groupheader">Macro Definition Documentation</h2> 393<a id="a8a03ef52aa4926d1d75cb647ac768622"></a> 394<h2 class="memtitle"><span class="permalink"><a href="#a8a03ef52aa4926d1d75cb647ac768622">◆ </a></span>B0</h2> 395 396<div class="memitem"> 397<div class="memproto"> 398 <table class="memname"> 399 <tr> 400 <td class="memname">#define B0   (1 << 0)</td> 401 </tr> 402 </table> 403</div><div class="memdoc"> 404 405<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00072">72</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 406 407</div> 408</div> 409<a id="a7b21d6a6a4573b4997b1f04b01cd4efb"></a> 410<h2 class="memtitle"><span class="permalink"><a href="#a7b21d6a6a4573b4997b1f04b01cd4efb">◆ </a></span>B1</h2> 411 412<div class="memitem"> 413<div class="memproto"> 414 <table class="memname"> 415 <tr> 416 <td class="memname">#define B1   (1 << 1)</td> 417 </tr> 418 </table> 419</div><div class="memdoc"> 420 421<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00073">73</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 422 423</div> 424</div> 425<a id="a6945d50f798e1fde624d70c74457090e"></a> 426<h2 class="memtitle"><span class="permalink"><a href="#a6945d50f798e1fde624d70c74457090e">◆ </a></span>B2</h2> 427 428<div class="memitem"> 429<div class="memproto"> 430 <table class="memname"> 431 <tr> 432 <td class="memname">#define B2   (1 << 2)</td> 433 </tr> 434 </table> 435</div><div class="memdoc"> 436 437<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00074">74</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 438 439</div> 440</div> 441<a id="ae6ac0edb1e2c9c7672ab9488d8b65be9"></a> 442<h2 class="memtitle"><span class="permalink"><a href="#ae6ac0edb1e2c9c7672ab9488d8b65be9">◆ </a></span>B3</h2> 443 444<div class="memitem"> 445<div class="memproto"> 446 <table class="memname"> 447 <tr> 448 <td class="memname">#define B3   (1 << 3)</td> 449 </tr> 450 </table> 451</div><div class="memdoc"> 452 453<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00075">75</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 454 455</div> 456</div> 457<a id="a48bbd27e913de8d7749dff9dec2fe816"></a> 458<h2 class="memtitle"><span class="permalink"><a href="#a48bbd27e913de8d7749dff9dec2fe816">◆ </a></span>CHX</h2> 459 460<div class="memitem"> 461<div class="memproto"> 462 <table class="memname"> 463 <tr> 464 <td class="memname">#define CHX   0</td> 465 </tr> 466 </table> 467</div><div class="memdoc"> 468 469<p>Used to access X-channel entries in various data data structures. </p> 470 471<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00060">60</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 472 473<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00522">addToFifo()</a>, <a class="el" href="a00851_source.html#l00022">ApplyAccelHAL()</a>, <a class="el" href="a00851_source.html#l00077">ApplyGyroHAL()</a>, <a class="el" href="a00851_source.html#l00049">ApplyMagHAL()</a>, <a class="el" href="a00911_source.html#l00510">conditionSample()</a>, <a class="el" href="a00902_source.html#l00122">CreateAndSendPackets()</a>, <a class="el" href="a00794_source.html#l00068">DecodeCommandBytes()</a>, <a class="el" href="a00896_source.html#l00229">f3DOFMagnetometerMatrixAndroid()</a>, <a class="el" href="a00896_source.html#l00199">f3DOFMagnetometerMatrixNED()</a>, <a class="el" href="a00887_source.html#l00191">f3x3matrixDetA()</a>, <a class="el" href="a00896_source.html#l00548">fAndroidAnglesDegFromRotationMatrix()</a>, <a class="el" href="a00905_source.html#l00424">fComputeAccelCalibration10()</a>, <a class="el" href="a00905_source.html#l00215">fComputeAccelCalibration4()</a>, <a class="el" href="a00905_source.html#l00330">fComputeAccelCalibration7()</a>, <a class="el" href="a00854_source.html#l01752">fComputeMagCalibration10()</a>, <a class="el" href="a00854_source.html#l01394">fComputeMagCalibration4()</a>, <a class="el" href="a00854_source.html#l01589">fComputeMagCalibration7()</a>, <a class="el" href="a00896_source.html#l00343">feCompassAndroid()</a>, <a class="el" href="a00896_source.html#l00270">feCompassNED()</a>, <a class="el" href="a00896_source.html#l00417">feCompassWin8()</a>, <a class="el" href="a00845_source.html#l00282">fInit_6DOF_GY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>, <a class="el" href="a00905_source.html#l00018">fInitializeAccelCalibration()</a>, <a class="el" href="a00854_source.html#l00024">fInitializeMagCalibration()</a>, <a class="el" href="a00905_source.html#l00118">fInvertAccelCal()</a>, <a class="el" href="a00854_source.html#l00285">fInvertMagCal()</a>, <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>, <a class="el" href="a00896_source.html#l00492">fNEDAnglesDegFromRotationMatrix()</a>, <a class="el" href="a00896_source.html#l00765">fQuaternionFromRotationMatrix()</a>, <a class="el" href="a00896_source.html#l00697">fQuaternionFromRotationVectorDeg()</a>, <a class="el" href="a00896_source.html#l00806">fRotationMatrixFromQuaternion()</a>, <a class="el" href="a00896_source.html#l00846">fRotationVectorDegFromQuaternion()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>, <a class="el" href="a00905_source.html#l00157">fRunAccelCalibration()</a>, <a class="el" href="a00854_source.html#l00313">fRunMagCalibration()</a>, <a class="el" href="a00905_source.html#l00066">fUpdateAccelBuffer()</a>, <a class="el" href="a00854_source.html#l00961">fUpdateMagCalibration10Slice()</a>, <a class="el" href="a00854_source.html#l00443">fUpdateMagCalibration4Slice()</a>, <a class="el" href="a00854_source.html#l00674">fUpdateMagCalibration7Slice()</a>, <a class="el" href="a00887_source.html#l00853">fVeq3x3AxV()</a>, <a class="el" href="a00896_source.html#l01028">fveqconjgquq()</a>, <a class="el" href="a00887_source.html#l00802">fveqRu()</a>, <a class="el" href="a00896_source.html#l00605">fWin8AnglesDegFromRotationMatrix()</a>, <a class="el" href="a00803_source.html#l00156">FXLS8471Q_Read()</a>, <a class="el" href="a00812_source.html#l00130">FXOS8700_Init()</a>, <a class="el" href="a00812_source.html#l00220">FXOS8700_ReadMagData()</a>, <a class="el" href="a00911_source.html#l00145">initializeSensors()</a>, <a class="el" href="a00854_source.html#l00091">iUpdateMagBuffer()</a>, <a class="el" href="a00821_source.html#l00113">MAG3110_Read()</a>, <a class="el" href="a00893_source.html#l00023">motionCheck()</a>, <a class="el" href="a00911_source.html#l00197">processMagData()</a>, <a class="el" href="a00470_source.html#l00227">readAlgoParams()</a>, and <a class="el" href="a00902_source.html#l00078">readCommon()</a>.</p> 474 475</div> 476</div> 477<a id="a6a25024f52cc6bea13d19f8b68456cea"></a> 478<h2 class="memtitle"><span class="permalink"><a href="#a6a25024f52cc6bea13d19f8b68456cea">◆ </a></span>CHY</h2> 479 480<div class="memitem"> 481<div class="memproto"> 482 <table class="memname"> 483 <tr> 484 <td class="memname">#define CHY   1</td> 485 </tr> 486 </table> 487</div><div class="memdoc"> 488 489<p>Used to access Y-channel entries in various data data structures. </p> 490 491<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00061">61</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 492 493<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00522">addToFifo()</a>, <a class="el" href="a00851_source.html#l00022">ApplyAccelHAL()</a>, <a class="el" href="a00851_source.html#l00077">ApplyGyroHAL()</a>, <a class="el" href="a00851_source.html#l00049">ApplyMagHAL()</a>, <a class="el" href="a00911_source.html#l00510">conditionSample()</a>, <a class="el" href="a00902_source.html#l00122">CreateAndSendPackets()</a>, <a class="el" href="a00896_source.html#l00229">f3DOFMagnetometerMatrixAndroid()</a>, <a class="el" href="a00896_source.html#l00199">f3DOFMagnetometerMatrixNED()</a>, <a class="el" href="a00887_source.html#l00191">f3x3matrixDetA()</a>, <a class="el" href="a00896_source.html#l00548">fAndroidAnglesDegFromRotationMatrix()</a>, <a class="el" href="a00905_source.html#l00424">fComputeAccelCalibration10()</a>, <a class="el" href="a00905_source.html#l00215">fComputeAccelCalibration4()</a>, <a class="el" href="a00905_source.html#l00330">fComputeAccelCalibration7()</a>, <a class="el" href="a00854_source.html#l01752">fComputeMagCalibration10()</a>, <a class="el" href="a00854_source.html#l01394">fComputeMagCalibration4()</a>, <a class="el" href="a00854_source.html#l01589">fComputeMagCalibration7()</a>, <a class="el" href="a00896_source.html#l00343">feCompassAndroid()</a>, <a class="el" href="a00896_source.html#l00270">feCompassNED()</a>, <a class="el" href="a00896_source.html#l00417">feCompassWin8()</a>, <a class="el" href="a00905_source.html#l00018">fInitializeAccelCalibration()</a>, <a class="el" href="a00854_source.html#l00024">fInitializeMagCalibration()</a>, <a class="el" href="a00905_source.html#l00118">fInvertAccelCal()</a>, <a class="el" href="a00854_source.html#l00285">fInvertMagCal()</a>, <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>, <a class="el" href="a00896_source.html#l00492">fNEDAnglesDegFromRotationMatrix()</a>, <a class="el" href="a00896_source.html#l00765">fQuaternionFromRotationMatrix()</a>, <a class="el" href="a00896_source.html#l00697">fQuaternionFromRotationVectorDeg()</a>, <a class="el" href="a00896_source.html#l00806">fRotationMatrixFromQuaternion()</a>, <a class="el" href="a00896_source.html#l00846">fRotationVectorDegFromQuaternion()</a>, <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>, <a class="el" href="a00854_source.html#l00961">fUpdateMagCalibration10Slice()</a>, <a class="el" href="a00854_source.html#l00443">fUpdateMagCalibration4Slice()</a>, <a class="el" href="a00854_source.html#l00674">fUpdateMagCalibration7Slice()</a>, <a class="el" href="a00887_source.html#l00853">fVeq3x3AxV()</a>, <a class="el" href="a00896_source.html#l01028">fveqconjgquq()</a>, <a class="el" href="a00887_source.html#l00802">fveqRu()</a>, <a class="el" href="a00896_source.html#l00605">fWin8AnglesDegFromRotationMatrix()</a>, <a class="el" href="a00803_source.html#l00156">FXLS8471Q_Read()</a>, <a class="el" href="a00812_source.html#l00130">FXOS8700_Init()</a>, <a class="el" href="a00812_source.html#l00220">FXOS8700_ReadMagData()</a>, <a class="el" href="a00854_source.html#l00091">iUpdateMagBuffer()</a>, <a class="el" href="a00821_source.html#l00113">MAG3110_Read()</a>, <a class="el" href="a00893_source.html#l00023">motionCheck()</a>, <a class="el" href="a00470_source.html#l00227">readAlgoParams()</a>, and <a class="el" href="a00902_source.html#l00078">readCommon()</a>.</p> 494 495</div> 496</div> 497<a id="a76143891435bdd7248857e45b93521ed"></a> 498<h2 class="memtitle"><span class="permalink"><a href="#a76143891435bdd7248857e45b93521ed">◆ </a></span>CHZ</h2> 499 500<div class="memitem"> 501<div class="memproto"> 502 <table class="memname"> 503 <tr> 504 <td class="memname">#define CHZ   2</td> 505 </tr> 506 </table> 507</div><div class="memdoc"> 508 509<p>Used to access Z-channel entries in various data data structures. </p> 510 511<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00062">62</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 512 513<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00522">addToFifo()</a>, <a class="el" href="a00851_source.html#l00022">ApplyAccelHAL()</a>, <a class="el" href="a00851_source.html#l00077">ApplyGyroHAL()</a>, <a class="el" href="a00851_source.html#l00049">ApplyMagHAL()</a>, <a class="el" href="a00911_source.html#l00510">conditionSample()</a>, <a class="el" href="a00902_source.html#l00122">CreateAndSendPackets()</a>, <a class="el" href="a00794_source.html#l00068">DecodeCommandBytes()</a>, <a class="el" href="a00896_source.html#l00229">f3DOFMagnetometerMatrixAndroid()</a>, <a class="el" href="a00896_source.html#l00199">f3DOFMagnetometerMatrixNED()</a>, <a class="el" href="a00887_source.html#l00191">f3x3matrixDetA()</a>, <a class="el" href="a00896_source.html#l00548">fAndroidAnglesDegFromRotationMatrix()</a>, <a class="el" href="a00905_source.html#l00424">fComputeAccelCalibration10()</a>, <a class="el" href="a00905_source.html#l00215">fComputeAccelCalibration4()</a>, <a class="el" href="a00905_source.html#l00330">fComputeAccelCalibration7()</a>, <a class="el" href="a00854_source.html#l01752">fComputeMagCalibration10()</a>, <a class="el" href="a00854_source.html#l01394">fComputeMagCalibration4()</a>, <a class="el" href="a00854_source.html#l01589">fComputeMagCalibration7()</a>, <a class="el" href="a00896_source.html#l00343">feCompassAndroid()</a>, <a class="el" href="a00896_source.html#l00270">feCompassNED()</a>, <a class="el" href="a00896_source.html#l00417">feCompassWin8()</a>, <a class="el" href="a00845_source.html#l00282">fInit_6DOF_GY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>, <a class="el" href="a00905_source.html#l00018">fInitializeAccelCalibration()</a>, <a class="el" href="a00854_source.html#l00024">fInitializeMagCalibration()</a>, <a class="el" href="a00905_source.html#l00118">fInvertAccelCal()</a>, <a class="el" href="a00854_source.html#l00285">fInvertMagCal()</a>, <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>, <a class="el" href="a00896_source.html#l00492">fNEDAnglesDegFromRotationMatrix()</a>, <a class="el" href="a00896_source.html#l00765">fQuaternionFromRotationMatrix()</a>, <a class="el" href="a00896_source.html#l00697">fQuaternionFromRotationVectorDeg()</a>, <a class="el" href="a00896_source.html#l00806">fRotationMatrixFromQuaternion()</a>, <a class="el" href="a00896_source.html#l00846">fRotationVectorDegFromQuaternion()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>, <a class="el" href="a00905_source.html#l00157">fRunAccelCalibration()</a>, <a class="el" href="a00854_source.html#l00313">fRunMagCalibration()</a>, <a class="el" href="a00905_source.html#l00066">fUpdateAccelBuffer()</a>, <a class="el" href="a00854_source.html#l00961">fUpdateMagCalibration10Slice()</a>, <a class="el" href="a00854_source.html#l00443">fUpdateMagCalibration4Slice()</a>, <a class="el" href="a00854_source.html#l00674">fUpdateMagCalibration7Slice()</a>, <a class="el" href="a00887_source.html#l00853">fVeq3x3AxV()</a>, <a class="el" href="a00896_source.html#l01028">fveqconjgquq()</a>, <a class="el" href="a00887_source.html#l00802">fveqRu()</a>, <a class="el" href="a00896_source.html#l00605">fWin8AnglesDegFromRotationMatrix()</a>, <a class="el" href="a00803_source.html#l00156">FXLS8471Q_Read()</a>, <a class="el" href="a00812_source.html#l00130">FXOS8700_Init()</a>, <a class="el" href="a00812_source.html#l00220">FXOS8700_ReadMagData()</a>, <a class="el" href="a00911_source.html#l00145">initializeSensors()</a>, <a class="el" href="a00854_source.html#l00091">iUpdateMagBuffer()</a>, <a class="el" href="a00821_source.html#l00113">MAG3110_Read()</a>, <a class="el" href="a00893_source.html#l00023">motionCheck()</a>, <a class="el" href="a00911_source.html#l00197">processMagData()</a>, <a class="el" href="a00470_source.html#l00227">readAlgoParams()</a>, and <a class="el" href="a00902_source.html#l00078">readCommon()</a>.</p> 514 515</div> 516</div> 517<a id="a7dda439ad15db9af285245ea9b8c7f73"></a> 518<h2 class="memtitle"><span class="permalink"><a href="#a7dda439ad15db9af285245ea9b8c7f73">◆ </a></span>F180OVERPI</h2> 519 520<div class="memitem"> 521<div class="memproto"> 522 <table class="memname"> 523 <tr> 524 <td class="memname">#define F180OVERPI   57.2957795130823F</td> 525 </tr> 526 </table> 527</div><div class="memdoc"> 528 529<p>radians to degrees conversion = 180 / pi </p> 530 531<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00084">84</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 532 533<p class="reference">Referenced by <a class="el" href="a00788_source.html#l00036">ApplyPerturbation()</a>, and <a class="el" href="a00896_source.html#l00846">fRotationVectorDegFromQuaternion()</a>.</p> 534 535</div> 536</div> 537<a id="adadcee44be4e1e30f8bef6d6f3c395f1"></a> 538<h2 class="memtitle"><span class="permalink"><a href="#adadcee44be4e1e30f8bef6d6f3c395f1">◆ </a></span>F180OVERPISQ</h2> 539 540<div class="memitem"> 541<div class="memproto"> 542 <table class="memname"> 543 <tr> 544 <td class="memname">#define F180OVERPISQ   3282.8063500117F</td> 545 </tr> 546 </table> 547</div><div class="memdoc"> 548 549<p>square of F180OVERPI </p> 550 551<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00085">85</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 552 553</div> 554</div> 555<a id="a65e9886d74aaee76545e83dd09011727"></a> 556<h2 class="memtitle"><span class="permalink"><a href="#a65e9886d74aaee76545e83dd09011727">◆ </a></span>false</h2> 557 558<div class="memitem"> 559<div class="memproto"> 560 <table class="memname"> 561 <tr> 562 <td class="memname">#define false   0</td> 563 </tr> 564 </table> 565</div><div class="memdoc"> 566 567<p>Boolean FALSE. </p> 568 569<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00067">67</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 570 571</div> 572</div> 573<a id="abc3ba6d213a82272a98beba63c76d9e6"></a> 574<h2 class="memtitle"><span class="permalink"><a href="#abc3ba6d213a82272a98beba63c76d9e6">◆ </a></span>FPIOVER180</h2> 575 576<div class="memitem"> 577<div class="memproto"> 578 <table class="memname"> 579 <tr> 580 <td class="memname">#define FPIOVER180   0.01745329251994F</td> 581 </tr> 582 </table> 583</div><div class="memdoc"> 584 585<p>degrees to radians conversion = pi / 180 </p> 586 587<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00083">83</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 588 589<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00282">fInit_6DOF_GY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>, <a class="el" href="a00896_source.html#l00697">fQuaternionFromRotationVectorDeg()</a>, and <a class="el" href="a00896_source.html#l00846">fRotationVectorDegFromQuaternion()</a>.</p> 590 591</div> 592</div> 593<a id="a4a253b5fa1c6be6c7786d172ef265c8e"></a> 594<h2 class="memtitle"><span class="permalink"><a href="#a4a253b5fa1c6be6c7786d172ef265c8e">◆ </a></span>GTOMSEC2</h2> 595 596<div class="memitem"> 597<div class="memproto"> 598 <table class="memname"> 599 <tr> 600 <td class="memname">#define GTOMSEC2   9.80665</td> 601 </tr> 602 </table> 603</div><div class="memdoc"> 604 605<p>standard gravity in m/s2 </p> 606 607<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00095">95</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 608 609<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>.</p> 610 611</div> 612</div> 613<a id="a94a6759de3142f2bc83a32e3b4d8508a"></a> 614<h2 class="memtitle"><span class="permalink"><a href="#a94a6759de3142f2bc83a32e3b4d8508a">◆ </a></span>ONEOVER12</h2> 615 616<div class="memitem"> 617<div class="memproto"> 618 <table class="memname"> 619 <tr> 620 <td class="memname">#define ONEOVER12   0.083333333F</td> 621 </tr> 622 </table> 623</div><div class="memdoc"> 624 625<p>1 / 12 </p> 626 627<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00089">89</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 628 629<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 630 631</div> 632</div> 633<a id="ae330ddc10eedf2178482ce0807cba343"></a> 634<h2 class="memtitle"><span class="permalink"><a href="#ae330ddc10eedf2178482ce0807cba343">◆ </a></span>ONEOVER120</h2> 635 636<div class="memitem"> 637<div class="memproto"> 638 <table class="memname"> 639 <tr> 640 <td class="memname">#define ONEOVER120   0.0083333333F</td> 641 </tr> 642 </table> 643</div><div class="memdoc"> 644 645<p>1 / 120 </p> 646 647<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00091">91</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 648 649</div> 650</div> 651<a id="a01bcfab4a924ef7d88838c48a7f960d8"></a> 652<h2 class="memtitle"><span class="permalink"><a href="#a01bcfab4a924ef7d88838c48a7f960d8">◆ </a></span>ONEOVER3840</h2> 653 654<div class="memitem"> 655<div class="memproto"> 656 <table class="memname"> 657 <tr> 658 <td class="memname">#define ONEOVER3840   0.0002604166667F</td> 659 </tr> 660 </table> 661</div><div class="memdoc"> 662 663<p>1 / 3840 </p> 664 665<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00092">92</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 666 667<p class="reference">Referenced by <a class="el" href="a00896_source.html#l00697">fQuaternionFromRotationVectorDeg()</a>.</p> 668 669</div> 670</div> 671<a id="acd35b81920df2a6d46b2e5215b81b198"></a> 672<h2 class="memtitle"><span class="permalink"><a href="#acd35b81920df2a6d46b2e5215b81b198">◆ </a></span>ONEOVER48</h2> 673 674<div class="memitem"> 675<div class="memproto"> 676 <table class="memname"> 677 <tr> 678 <td class="memname">#define ONEOVER48   0.02083333333F</td> 679 </tr> 680 </table> 681</div><div class="memdoc"> 682 683<p>1 / 48 </p> 684 685<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00090">90</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 686 687<p class="reference">Referenced by <a class="el" href="a00896_source.html#l00697">fQuaternionFromRotationVectorDeg()</a>.</p> 688 689</div> 690</div> 691<a id="a26a895544cc9230a30e569382bfbbde9"></a> 692<h2 class="memtitle"><span class="permalink"><a href="#a26a895544cc9230a30e569382bfbbde9">◆ </a></span>ONEOVERSQRT2</h2> 693 694<div class="memitem"> 695<div class="memproto"> 696 <table class="memname"> 697 <tr> 698 <td class="memname">#define ONEOVERSQRT2   0.707106781F</td> 699 </tr> 700 </table> 701</div><div class="memdoc"> 702 703<p>1/sqrt(2) </p> 704 705<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00093">93</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 706 707<p class="reference">Referenced by <a class="el" href="a00788_source.html#l00036">ApplyPerturbation()</a>, and <a class="el" href="a00896_source.html#l01028">fveqconjgquq()</a>.</p> 708 709</div> 710</div> 711<a id="a8cbf59b7a08a3c4de29e0f7f996e2987"></a> 712<h2 class="memtitle"><span class="permalink"><a href="#a8cbf59b7a08a3c4de29e0f7f996e2987">◆ </a></span>ONESIXTEENTH</h2> 713 714<div class="memitem"> 715<div class="memproto"> 716 <table class="memname"> 717 <tr> 718 <td class="memname">#define ONESIXTEENTH   0.0625F</td> 719 </tr> 720 </table> 721</div><div class="memdoc"> 722 723<p>one sixteenth </p> 724 725<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00088">88</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 726 727</div> 728</div> 729<a id="a0002844e5fb22dfb16883142e64ce617"></a> 730<h2 class="memtitle"><span class="permalink"><a href="#a0002844e5fb22dfb16883142e64ce617">◆ </a></span>ONESIXTH</h2> 731 732<div class="memitem"> 733<div class="memproto"> 734 <table class="memname"> 735 <tr> 736 <td class="memname">#define ONESIXTH   0.166666667F</td> 737 </tr> 738 </table> 739</div><div class="memdoc"> 740 741<p>one sixth </p> 742 743<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00087">87</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 744 745<p class="reference">Referenced by <a class="el" href="a00854_source.html#l01752">fComputeMagCalibration10()</a>, and <a class="el" href="a00854_source.html#l01589">fComputeMagCalibration7()</a>.</p> 746 747</div> 748</div> 749<a id="a40061ef4251d0b68cfee09c54d7b91ab"></a> 750<h2 class="memtitle"><span class="permalink"><a href="#a40061ef4251d0b68cfee09c54d7b91ab">◆ </a></span>ONETHIRD</h2> 751 752<div class="memitem"> 753<div class="memproto"> 754 <table class="memname"> 755 <tr> 756 <td class="memname">#define ONETHIRD   0.33333333F</td> 757 </tr> 758 </table> 759</div><div class="memdoc"> 760 761<p>one third </p> 762 763<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00086">86</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 764 765<p class="reference">Referenced by <a class="el" href="a00854_source.html#l01752">fComputeMagCalibration10()</a>, <a class="el" href="a00854_source.html#l01589">fComputeMagCalibration7()</a>, <a class="el" href="a00854_source.html#l00961">fUpdateMagCalibration10Slice()</a>, and <a class="el" href="a00854_source.html#l00674">fUpdateMagCalibration7Slice()</a>.</p> 766 767</div> 768</div> 769<a id="a598a3330b3c21701223ee0ca14316eca"></a> 770<h2 class="memtitle"><span class="permalink"><a href="#a598a3330b3c21701223ee0ca14316eca">◆ </a></span>PI</h2> 771 772<div class="memitem"> 773<div class="memproto"> 774 <table class="memname"> 775 <tr> 776 <td class="memname">#define PI   3.141592654F</td> 777 </tr> 778 </table> 779</div><div class="memdoc"> 780 781<p>pi </p> 782 783<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00081">81</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 784 785<p class="reference">Referenced by <a class="el" href="a00854_source.html#l00024">fInitializeMagCalibration()</a>.</p> 786 787</div> 788</div> 789<a id="a8546c61523760057efea38efda6ee4c7"></a> 790<h2 class="memtitle"><span class="permalink"><a href="#a8546c61523760057efea38efda6ee4c7">◆ </a></span>PIOVER2</h2> 791 792<div class="memitem"> 793<div class="memproto"> 794 <table class="memname"> 795 <tr> 796 <td class="memname">#define PIOVER2   1.570796327F</td> 797 </tr> 798 </table> 799</div><div class="memdoc"> 800 801<p>pi / 2 </p> 802 803<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00082">82</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 804 805</div> 806</div> 807<a id="aedb0274e7d55732f16fd67bfec361d83"></a> 808<h2 class="memtitle"><span class="permalink"><a href="#aedb0274e7d55732f16fd67bfec361d83">◆ </a></span>SPI_ADDR</h2> 809 810<div class="memitem"> 811<div class="memproto"> 812 <table class="memname"> 813 <tr> 814 <td class="memname">#define SPI_ADDR   0x00</td> 815 </tr> 816 </table> 817</div><div class="memdoc"> 818 819<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00138">138</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 820 821<p class="reference">Referenced by <a class="el" href="a00803_source.html#l00213">FXLS8471Q_Idle()</a>, <a class="el" href="a00803_source.html#l00114">FXLS8471Q_Init()</a>, and <a class="el" href="a00803_source.html#l00156">FXLS8471Q_Read()</a>.</p> 822 823</div> 824</div> 825<a id="a1483f9fe4e0329bd33b20b12af4df0d1"></a> 826<h2 class="memtitle"><span class="permalink"><a href="#a1483f9fe4e0329bd33b20b12af4df0d1">◆ </a></span>SQRT15OVER4</h2> 827 828<div class="memitem"> 829<div class="memproto"> 830 <table class="memname"> 831 <tr> 832 <td class="memname">#define SQRT15OVER4   0.968245837F</td> 833 </tr> 834 </table> 835</div><div class="memdoc"> 836 837<p>sqrt(15)/4 </p> 838 839<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00094">94</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 840 841</div> 842</div> 843<a id="a41f9c5fb8b08eb5dc3edce4dcb37fee7"></a> 844<h2 class="memtitle"><span class="permalink"><a href="#a41f9c5fb8b08eb5dc3edce4dcb37fee7">◆ </a></span>true</h2> 845 846<div class="memitem"> 847<div class="memproto"> 848 <table class="memname"> 849 <tr> 850 <td class="memname">#define true   1</td> 851 </tr> 852 </table> 853</div><div class="memdoc"> 854 855<p>Boolean TRUE. </p> 856 857<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00066">66</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 858 859</div> 860</div> 861<h2 class="groupheader">Typedef Documentation</h2> 862<a id="a9b6853545f9fd000a9ef11a03b4c130e"></a> 863<h2 class="memtitle"><span class="permalink"><a href="#a9b6853545f9fd000a9ef11a03b4c130e">◆ </a></span>applyPerturbation_t</h2> 864 865<div class="memitem"> 866<div class="memproto"> 867 <table class="memname"> 868 <tr> 869 <td class="memname">typedef void() applyPerturbation_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 870 </tr> 871 </table> 872</div><div class="memdoc"> 873 874<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00145">145</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 875 876</div> 877</div> 878<a id="a0c8186d9b9b7880309c27230bbb5e69d"></a> 879<h2 class="memtitle"><span class="permalink"><a href="#a0c8186d9b9b7880309c27230bbb5e69d">◆ </a></span>byte</h2> 880 881<div class="memitem"> 882<div class="memproto"> 883 <table class="memname"> 884 <tr> 885 <td class="memname">typedef unsigned char <a class="el" href="a00914.html#a0c8186d9b9b7880309c27230bbb5e69d">byte</a></td> 886 </tr> 887 </table> 888</div><div class="memdoc"> 889 890<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00038">38</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 891 892</div> 893</div> 894<a id="a45fd326dad5e1dff86531d9301ea3dc3"></a> 895<h2 class="memtitle"><span class="permalink"><a href="#a45fd326dad5e1dff86531d9301ea3dc3">◆ </a></span>clearFIFOs_t</h2> 896 897<div class="memitem"> 898<div class="memproto"> 899 <table class="memname"> 900 <tr> 901 <td class="memname">typedef void() clearFIFOs_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 902 </tr> 903 </table> 904</div><div class="memdoc"> 905 906<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00143">143</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 907 908</div> 909</div> 910<a id="ad3c3296510731ec2c07cb9e6fa39a56d"></a> 911<h2 class="memtitle"><span class="permalink"><a href="#ad3c3296510731ec2c07cb9e6fa39a56d">◆ </a></span>conditionSensorReadings_t</h2> 912 913<div class="memitem"> 914<div class="memproto"> 915 <table class="memname"> 916 <tr> 917 <td class="memname">typedef void() conditionSensorReadings_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 918 </tr> 919 </table> 920</div><div class="memdoc"> 921 922<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00144">144</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 923 924</div> 925</div> 926<a id="a91bce55afe8312557380a10d347fb7eb"></a> 927<h2 class="memtitle"><span class="permalink"><a href="#a91bce55afe8312557380a10d347fb7eb">◆ </a></span>initializeFusionEngine_t</h2> 928 929<div class="memitem"> 930<div class="memproto"> 931 <table class="memname"> 932 <tr> 933 <td class="memname">typedef void() initializeFusionEngine_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 934 </tr> 935 </table> 936</div><div class="memdoc"> 937 938<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00141">141</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 939 940</div> 941</div> 942<a id="aba7361df44c2e0eef7667910d07989a1"></a> 943<h2 class="memtitle"><span class="permalink"><a href="#aba7361df44c2e0eef7667910d07989a1">◆ </a></span>initializeSensor_t</h2> 944 945<div class="memitem"> 946<div class="memproto"> 947 <table class="memname"> 948 <tr> 949 <td class="memname">typedef int8_t() initializeSensor_t(struct <a class="el" href="a03991.html">PhysicalSensor</a> *sensor, struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 950 </tr> 951 </table> 952</div><div class="memdoc"> 953 954<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00116">116</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 955 956</div> 957</div> 958<a id="a39e532557a164efa4ae8b0f87aacca68"></a> 959<h2 class="memtitle"><span class="permalink"><a href="#a39e532557a164efa4ae8b0f87aacca68">◆ </a></span>installSensor_t</h2> 960 961<div class="memitem"> 962<div class="memproto"> 963 <table class="memname"> 964 <tr> 965 <td class="memname">typedef int8_t() installSensor_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, struct <a class="el" href="a03991.html">PhysicalSensor</a> *sensor, uint16_t addr, uint16_t schedule, void *bus_driver, <a class="el" href="a03819.html">registerDeviceInfo_t</a> *busInfo, <a class="el" href="a00914.html#aba7361df44c2e0eef7667910d07989a1">initializeSensor_t</a> *initialize, <a class="el" href="a00914.html#afaa7504682b3a0032b0654a73fef1017">readSensor_t</a> *read)</td> 966 </tr> 967 </table> 968</div><div class="memdoc"> 969 970<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00128">128</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 971 972</div> 973</div> 974<a id="aa0d0fdc87fd135ef2bedb030901cdb9c"></a> 975<h2 class="memtitle"><span class="permalink"><a href="#aa0d0fdc87fd135ef2bedb030901cdb9c">◆ </a></span>int16</h2> 976 977<div class="memitem"> 978<div class="memproto"> 979 <table class="memname"> 980 <tr> 981 <td class="memname">typedef int16_t <a class="el" href="a00914.html#aa0d0fdc87fd135ef2bedb030901cdb9c">int16</a></td> 982 </tr> 983 </table> 984</div><div class="memdoc"> 985 986<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00040">40</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 987 988</div> 989</div> 990<a id="ab7903878916593daecbeb95b98115ab0"></a> 991<h2 class="memtitle"><span class="permalink"><a href="#ab7903878916593daecbeb95b98115ab0">◆ </a></span>int32</h2> 992 993<div class="memitem"> 994<div class="memproto"> 995 <table class="memname"> 996 <tr> 997 <td class="memname">typedef <a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> <a class="el" href="a00914.html#ab7903878916593daecbeb95b98115ab0">int32</a></td> 998 </tr> 999 </table> 1000</div><div class="memdoc"> 1001 1002<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00041">41</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1003 1004</div> 1005</div> 1006<a id="aa79c2d3de4fcd200458c406f40b2ae64"></a> 1007<h2 class="memtitle"><span class="permalink"><a href="#aa79c2d3de4fcd200458c406f40b2ae64">◆ </a></span>int8</h2> 1008 1009<div class="memitem"> 1010<div class="memproto"> 1011 <table class="memname"> 1012 <tr> 1013 <td class="memname">typedef int8_t <a class="el" href="a00914.html#aa79c2d3de4fcd200458c406f40b2ae64">int8</a></td> 1014 </tr> 1015 </table> 1016</div><div class="memdoc"> 1017 1018<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00039">39</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1019 1020</div> 1021</div> 1022<a id="ad1d4d649bfa88f655f8f2d1ee5ae5ace"></a> 1023<h2 class="memtitle"><span class="permalink"><a href="#ad1d4d649bfa88f655f8f2d1ee5ae5ace">◆ </a></span>quaternion_type</h2> 1024 1025<div class="memitem"> 1026<div class="memproto"> 1027 <table class="memname"> 1028 <tr> 1029 <td class="memname">typedef enum <a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaa">quaternion</a> <a class="el" href="a00914.html#ad1d4d649bfa88f655f8f2d1ee5ae5ace">quaternion_type</a></td> 1030 </tr> 1031 </table> 1032</div><div class="memdoc"> 1033 1034<p>the quaternion type to be transmitted </p> 1035 1036</div> 1037</div> 1038<a id="afaa7504682b3a0032b0654a73fef1017"></a> 1039<h2 class="memtitle"><span class="permalink"><a href="#afaa7504682b3a0032b0654a73fef1017">◆ </a></span>readSensor_t</h2> 1040 1041<div class="memitem"> 1042<div class="memproto"> 1043 <table class="memname"> 1044 <tr> 1045 <td class="memname">typedef int8_t() readSensor_t(struct <a class="el" href="a03991.html">PhysicalSensor</a> *sensor, struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 1046 </tr> 1047 </table> 1048</div><div class="memdoc"> 1049 1050<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00120">120</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1051 1052</div> 1053</div> 1054<a id="a5808c4001587c0ba91a6774e978568e1"></a> 1055<h2 class="memtitle"><span class="permalink"><a href="#a5808c4001587c0ba91a6774e978568e1">◆ </a></span>readSensors_t</h2> 1056 1057<div class="memitem"> 1058<div class="memproto"> 1059 <table class="memname"> 1060 <tr> 1061 <td class="memname">typedef int8_t() readSensors_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, uint16_t read_loop_counter)</td> 1062 </tr> 1063 </table> 1064</div><div class="memdoc"> 1065 1066<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00124">124</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1067 1068</div> 1069</div> 1070<a id="ab0f33bc511631f43f4dce6d5b9612e4e"></a> 1071<h2 class="memtitle"><span class="permalink"><a href="#ab0f33bc511631f43f4dce6d5b9612e4e">◆ </a></span>runFusion_t</h2> 1072 1073<div class="memitem"> 1074<div class="memproto"> 1075 <table class="memname"> 1076 <tr> 1077 <td class="memname">typedef void() runFusion_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 1078 </tr> 1079 </table> 1080</div><div class="memdoc"> 1081 1082<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00142">142</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1083 1084</div> 1085</div> 1086<a id="ae22cd912bc7ce5c370d4854c16c677a0"></a> 1087<h2 class="memtitle"><span class="permalink"><a href="#ae22cd912bc7ce5c370d4854c16c677a0">◆ </a></span>SensorFusionGlobals</h2> 1088 1089<div class="memitem"> 1090<div class="memproto"> 1091 <table class="memname"> 1092 <tr> 1093 <td class="memname">typedef struct <a class="el" href="a04047.html">SensorFusionGlobals</a> <a class="el" href="a04047.html">SensorFusionGlobals</a></td> 1094 </tr> 1095 </table> 1096</div><div class="memdoc"> 1097 1098<p>The top level fusion structure. </p> 1099<p>The top level fusion structure grows/shrinks based upon flag definitions contained in build.h. These same flags will populate the .iFlags field for run-time access. </p> 1100 1101</div> 1102</div> 1103<a id="ac4d8e7ed390a6a3ae2e8749ddb95d1b1"></a> 1104<h2 class="memtitle"><span class="permalink"><a href="#ac4d8e7ed390a6a3ae2e8749ddb95d1b1">◆ </a></span>setStatus_t</h2> 1105 1106<div class="memitem"> 1107<div class="memproto"> 1108 <table class="memname"> 1109 <tr> 1110 <td class="memname">typedef void() setStatus_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>, <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">fusion_status_t</a> <a class="el" href="a00428.html#a369536ebfe385731562c0b55dd6f3a7c">status</a>)</td> 1111 </tr> 1112 </table> 1113</div><div class="memdoc"> 1114 1115<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00146">146</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1116 1117</div> 1118</div> 1119<a id="a0fd56d0de735d61a46a723c2fd01b2c0"></a> 1120<h2 class="memtitle"><span class="permalink"><a href="#a0fd56d0de735d61a46a723c2fd01b2c0">◆ </a></span>ssSetStatus_t</h2> 1121 1122<div class="memitem"> 1123<div class="memproto"> 1124 <table class="memname"> 1125 <tr> 1126 <td class="memname">typedef void() ssSetStatus_t(struct <a class="el" href="a04051.html">StatusSubsystem</a> *pStatus, <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">fusion_status_t</a> <a class="el" href="a00428.html#a369536ebfe385731562c0b55dd6f3a7c">status</a>)</td> 1127 </tr> 1128 </table> 1129</div><div class="memdoc"> 1130 1131<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00148">148</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1132 1133</div> 1134</div> 1135<a id="a959d6eb60f9aae409ef9cf7d654e08cc"></a> 1136<h2 class="memtitle"><span class="permalink"><a href="#a959d6eb60f9aae409ef9cf7d654e08cc">◆ </a></span>ssUpdateStatus_t</h2> 1137 1138<div class="memitem"> 1139<div class="memproto"> 1140 <table class="memname"> 1141 <tr> 1142 <td class="memname">typedef void() ssUpdateStatus_t(struct <a class="el" href="a04051.html">StatusSubsystem</a> *pStatus)</td> 1143 </tr> 1144 </table> 1145</div><div class="memdoc"> 1146 1147<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00149">149</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1148 1149</div> 1150</div> 1151<a id="a3fe0b3e3d934e9d4af406ff60f451387"></a> 1152<h2 class="memtitle"><span class="permalink"><a href="#a3fe0b3e3d934e9d4af406ff60f451387">◆ </a></span>SV_ptr</h2> 1153 1154<div class="memitem"> 1155<div class="memproto"> 1156 <table class="memname"> 1157 <tr> 1158 <td class="memname">typedef struct <a class="el" href="a04043.html">SV_COMMON</a>* <a class="el" href="a00914.html#a3fe0b3e3d934e9d4af406ff60f451387">SV_ptr</a></td> 1159 </tr> 1160 </table> 1161</div><div class="memdoc"> 1162 1163<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00447">447</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1164 1165</div> 1166</div> 1167<a id="ac2a9e79eb120216f855626495b7bd18a"></a> 1168<h2 class="memtitle"><span class="permalink"><a href="#ac2a9e79eb120216f855626495b7bd18a">◆ </a></span>uint16</h2> 1169 1170<div class="memitem"> 1171<div class="memproto"> 1172 <table class="memname"> 1173 <tr> 1174 <td class="memname">typedef uint16_t <a class="el" href="a00914.html#ac2a9e79eb120216f855626495b7bd18a">uint16</a></td> 1175 </tr> 1176 </table> 1177</div><div class="memdoc"> 1178 1179<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00043">43</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1180 1181</div> 1182</div> 1183<a id="acbd4acd0d29e2d6c43104827f77d9cd2"></a> 1184<h2 class="memtitle"><span class="permalink"><a href="#acbd4acd0d29e2d6c43104827f77d9cd2">◆ </a></span>uint32</h2> 1185 1186<div class="memitem"> 1187<div class="memproto"> 1188 <table class="memname"> 1189 <tr> 1190 <td class="memname">typedef uint32_t <a class="el" href="a00914.html#acbd4acd0d29e2d6c43104827f77d9cd2">uint32</a></td> 1191 </tr> 1192 </table> 1193</div><div class="memdoc"> 1194 1195<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00044">44</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1196 1197</div> 1198</div> 1199<a id="a33a5e996e7a90acefb8b1c0bea47e365"></a> 1200<h2 class="memtitle"><span class="permalink"><a href="#a33a5e996e7a90acefb8b1c0bea47e365">◆ </a></span>uint8</h2> 1201 1202<div class="memitem"> 1203<div class="memproto"> 1204 <table class="memname"> 1205 <tr> 1206 <td class="memname">typedef uint8_t <a class="el" href="a00914.html#a33a5e996e7a90acefb8b1c0bea47e365">uint8</a></td> 1207 </tr> 1208 </table> 1209</div><div class="memdoc"> 1210 1211<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00042">42</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1212 1213</div> 1214</div> 1215<a id="af54c289bd293ed81c124d5740c19e9ef"></a> 1216<h2 class="memtitle"><span class="permalink"><a href="#af54c289bd293ed81c124d5740c19e9ef">◆ </a></span>updateStatus_t</h2> 1217 1218<div class="memitem"> 1219<div class="memproto"> 1220 <table class="memname"> 1221 <tr> 1222 <td class="memname">typedef void() updateStatus_t(struct <a class="el" href="a04047.html">SensorFusionGlobals</a> *<a class="el" href="a00884.html#afa81c629d378fe700f351a1bce411ad5">sfg</a>)</td> 1223 </tr> 1224 </table> 1225</div><div class="memdoc"> 1226 1227<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00147">147</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1228 1229</div> 1230</div> 1231<h2 class="groupheader">Enumeration Type Documentation</h2> 1232<a id="a69ee883e1c22b117df163c0bd83f66dd"></a> 1233<h2 class="memtitle"><span class="permalink"><a href="#a69ee883e1c22b117df163c0bd83f66dd">◆ </a></span>fusion_status_t</h2> 1234 1235<div class="memitem"> 1236<div class="memproto"> 1237 <table class="memname"> 1238 <tr> 1239 <td class="memname">enum <a class="el" href="a00914.html#a69ee883e1c22b117df163c0bd83f66dd">fusion_status_t</a></td> 1240 </tr> 1241 </table> 1242</div><div class="memdoc"> 1243 1244<p>Application-specific serial communications system. </p> 1245<table class="fieldtable"> 1246<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66ddaac132f2982b98bcaa3445e535a03ff75"></a>OFF </td><td class="fielddoc"><p>These are the state definitions for the status subsystem. </p> 1247<p>Application hasn't started </p> 1248</td></tr> 1249<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66dda646fa15851d5e9f6784d044a50eef221"></a>INITIALIZING </td><td class="fielddoc"><p>Initializing sensors and algorithms. </p> 1250</td></tr> 1251<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66dda3443484ca1aa8edccfe37956838d8737"></a>LOWPOWER </td><td class="fielddoc"><p>Running in reduced power mode. </p> 1252</td></tr> 1253<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66dda50d1448013c6f17125caee18aa418af7"></a>NORMAL </td><td class="fielddoc"><p>Operation is Nominal. </p> 1254</td></tr> 1255<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66dda07ce7fbb8426233b33e7e7512bb0f55d"></a>RECEIVING_WIRED </td><td class="fielddoc"><p>Receiving commands over wired interface (momentary) </p> 1256</td></tr> 1257<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66dda60ca895e5ed18a6e1928d4750c7968a0"></a>RECEIVING_WIRELESS </td><td class="fielddoc"><p>Receiving commands over wireless interface (momentary) </p> 1258</td></tr> 1259<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66dda2142c7e506bbaf9dba4175fee014862f"></a>HARD_FAULT </td><td class="fielddoc"><p>Non-recoverable FAULT = something went very wrong. </p> 1260</td></tr> 1261<tr><td class="fieldname"><a id="a69ee883e1c22b117df163c0bd83f66ddaef2af24f93594b49dcdee589a73e1772"></a>SOFT_FAULT </td><td class="fielddoc"><p>Recoverable FAULT = something went wrong, but we can keep going. </p> 1262</td></tr> 1263</table> 1264 1265<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00104">104</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1266 1267</div> 1268</div> 1269<a id="a5f469312b3865f2d3efea2edd6f8afaa"></a> 1270<h2 class="memtitle"><span class="permalink"><a href="#a5f469312b3865f2d3efea2edd6f8afaa">◆ </a></span>quaternion</h2> 1271 1272<div class="memitem"> 1273<div class="memproto"> 1274 <table class="memname"> 1275 <tr> 1276 <td class="memname">enum <a class="el" href="a00914.html#a5f469312b3865f2d3efea2edd6f8afaa">quaternion</a></td> 1277 </tr> 1278 </table> 1279</div><div class="memdoc"> 1280 1281<p>the quaternion type to be transmitted </p> 1282<table class="fieldtable"> 1283<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5f469312b3865f2d3efea2edd6f8afaaa19bd87b11e82b9047ad750fb62711ba8"></a>Q3 </td><td class="fielddoc"><p><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> derived from 3-axis accel (tilt) </p> 1284</td></tr> 1285<tr><td class="fieldname"><a id="a5f469312b3865f2d3efea2edd6f8afaaada2dae63d5865a8446caa7938c73c5dc"></a>Q3M </td><td class="fielddoc"><p><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> derived from 3-axis mag only (auto compass algorithm) </p> 1286</td></tr> 1287<tr><td class="fieldname"><a id="a5f469312b3865f2d3efea2edd6f8afaaaf63c9f6fec59717499a84048f682cf8a"></a>Q3G </td><td class="fielddoc"><p><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> derived from 3-axis gyro only (rotation) </p> 1288</td></tr> 1289<tr><td class="fieldname"><a id="a5f469312b3865f2d3efea2edd6f8afaaa0cf62dda224dcbac09ae26cd46ccce01"></a>Q6MA </td><td class="fielddoc"><p><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> derived from 3-axis accel + 3 axis mag (eCompass) </p> 1290</td></tr> 1291<tr><td class="fieldname"><a id="a5f469312b3865f2d3efea2edd6f8afaaa59c8dc55b720396019ef93eb943a3b96"></a>Q6AG </td><td class="fielddoc"><p><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> derived from 3-axis accel + 3-axis gyro (gaming) </p> 1292</td></tr> 1293<tr><td class="fieldname"><a id="a5f469312b3865f2d3efea2edd6f8afaaa9c5ceeb2bc9bf27379c7e72bc4d0ff13"></a>Q9 </td><td class="fielddoc"><p><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> derived from full 9-axis sensor fusion. </p> 1294</td></tr> 1295</table> 1296 1297<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00048">48</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1298 1299</div> 1300</div> 1301<h2 class="groupheader">Function Documentation</h2> 1302<a id="ae7d2343e9a63bd3879ae477ec4536f6a"></a> 1303<h2 class="memtitle"><span class="permalink"><a href="#ae7d2343e9a63bd3879ae477ec4536f6a">◆ </a></span>addToFifo()</h2> 1304 1305<div class="memitem"> 1306<div class="memproto"> 1307 <table class="memname"> 1308 <tr> 1309 <td class="memname">void addToFifo </td> 1310 <td>(</td> 1311 <td class="paramtype">union <a class="el" href="a04011.html">FifoSensor</a> * </td> 1312 <td class="paramname"><em>sensor</em>, </td> 1313 </tr> 1314 <tr> 1315 <td class="paramkey"></td> 1316 <td></td> 1317 <td class="paramtype">uint16_t </td> 1318 <td class="paramname"><em>maxFifoSize</em>, </td> 1319 </tr> 1320 <tr> 1321 <td class="paramkey"></td> 1322 <td></td> 1323 <td class="paramtype">int16_t </td> 1324 <td class="paramname"><em>sample</em>[3] </td> 1325 </tr> 1326 <tr> 1327 <td></td> 1328 <td>)</td> 1329 <td></td><td></td> 1330 </tr> 1331 </table> 1332</div><div class="memdoc"> 1333 1334<p>addToFifo is called from within sensor driver read functions </p> 1335<p>addToFifo is called from within sensor driver read functions to transfer new readings into the sensor structure corresponding to accel, gyro or mag. This function ensures that the software FIFOs are not overrun.</p> 1336<p>example usage: if (status==SENSOR_ERROR_NONE) addToFifo((FifoSensor*) &(sfg->Mag), MAG_FIFO_SIZE, sample); </p> 1337<dl class="params"><dt>Parameters</dt><dd> 1338 <table class="params"> 1339 <tr><td class="paramname">sensor</td><td>pointer to structure of type <a class="el" href="a03999.html" title="The AccelSensor structure stores raw and processed measurements for a 3-axis accelerometer. ">AccelSensor</a>, <a class="el" href="a04003.html" title="The MagSensor structure stores raw and processed measurements for a 3-axis magnetic sensor...">MagSensor</a> or <a class="el" href="a04007.html" title="The GyroSensor structure stores raw and processed measurements for a 3-axis gyroscope. ">GyroSensor</a> </td></tr> 1340 <tr><td class="paramname">maxFifoSize</td><td>the size of the software (not hardware) FIFO </td></tr> 1341 <tr><td class="paramname">sample</td><td>the sample to add </td></tr> 1342 </table> 1343 </dd> 1344</dl> 1345 1346<p class="definition">Definition at line <a class="el" href="a00911_source.html#l00522">522</a> of file <a class="el" href="a00911_source.html">sensor_fusion.c</a>.</p> 1347 1348<p class="reference">References <a class="el" href="a00914_source.html#l00256">FifoSensor::Accel</a>, <a class="el" href="a00914_source.html#l00060">CHX</a>, <a class="el" href="a00914_source.html#l00061">CHY</a>, <a class="el" href="a00914_source.html#l00062">CHZ</a>, <a class="el" href="a00914_source.html#l00196">AccelSensor::iFIFOCount</a>, <a class="el" href="a00914_source.html#l00197">AccelSensor::iFIFOExceeded</a>, and <a class="el" href="a00914_source.html#l00198">AccelSensor::iGsFIFO</a>.</p> 1349 1350<p class="reference">Referenced by <a class="el" href="a00803_source.html#l00156">FXLS8471Q_Read()</a>, <a class="el" href="a00812_source.html#l00130">FXOS8700_Init()</a>, <a class="el" href="a00812_source.html#l00220">FXOS8700_ReadMagData()</a>, and <a class="el" href="a00821_source.html#l00113">MAG3110_Read()</a>.</p> 1351<div class="dynheader"> 1352Here is the caller graph for this function:</div> 1353<div class="dyncontent"> 1354<div class="center"><img src="a00914_ae7d2343e9a63bd3879ae477ec4536f6a_icgraph.png" border="0" usemap="#a00914_ae7d2343e9a63bd3879ae477ec4536f6a_icgraph" alt=""/></div> 1355<map name="a00914_ae7d2343e9a63bd3879ae477ec4536f6a_icgraph" id="a00914_ae7d2343e9a63bd3879ae477ec4536f6a_icgraph"> 1356<area shape="rect" id="node2" href="a00842.html#ac818465f3f2f5bd60e71c5c7d8a8a261" title="FXLS8471Q_Read" alt="" coords="155,5,283,32"/> 1357<area shape="rect" id="node3" href="a00842.html#ac61bf451efc3a4eab179dbc59268b3e7" title="FXOS8700_Init" alt="" coords="165,56,273,83"/> 1358<area shape="rect" id="node4" href="a00812.html#a16645c35980d715e5252f30beebecaa2" title="FXOS8700_ReadMagData" alt="" coords="132,107,305,133"/> 1359<area shape="rect" id="node5" href="a00842.html#a2592117f3e2fed5f61ff029cb18fa556" title="MAG3110_Read" alt="" coords="160,157,277,184"/> 1360</map> 1361</div> 1362 1363</div> 1364</div> 1365<a id="afe116134dc1e5109171e81bab6c2afd8"></a> 1366<h2 class="memtitle"><span class="permalink"><a href="#afe116134dc1e5109171e81bab6c2afd8">◆ </a></span>ApplyAccelHAL()</h2> 1367 1368<div class="memitem"> 1369<div class="memproto"> 1370 <table class="memname"> 1371 <tr> 1372 <td class="memname">void ApplyAccelHAL </td> 1373 <td>(</td> 1374 <td class="paramtype">struct <a class="el" href="a03999.html">AccelSensor</a> * </td> 1375 <td class="paramname"><em>Accel</em></td><td>)</td> 1376 <td></td> 1377 </tr> 1378 </table> 1379</div><div class="memdoc"> 1380 1381<p>Apply the accelerometer Hardware Abstraction Layer. </p> 1382<dl class="params"><dt>Parameters</dt><dd> 1383 <table class="params"> 1384 <tr><td class="paramname">Accel</td><td>pointer to accelerometer logical sensor </td></tr> 1385 </table> 1386 </dd> 1387</dl> 1388 1389<p class="definition">Definition at line <a class="el" href="a00851_source.html#l00022">22</a> of file <a class="el" href="a00851_source.html">hal_frdm_fxs_mult2_b.c</a>.</p> 1390 1391<p class="reference">References <a class="el" href="a00914_source.html#l00060">CHX</a>, <a class="el" href="a00914_source.html#l00061">CHY</a>, <a class="el" href="a00914_source.html#l00062">CHZ</a>, <a class="el" href="a00914_source.html#l00196">AccelSensor::iFIFOCount</a>, and <a class="el" href="a00914_source.html#l00198">AccelSensor::iGsFIFO</a>.</p> 1392 1393<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00145">initializeSensors()</a>.</p> 1394<div class="dynheader"> 1395Here is the caller graph for this function:</div> 1396<div class="dyncontent"> 1397<div class="center"><img src="a00914_afe116134dc1e5109171e81bab6c2afd8_icgraph.png" border="0" usemap="#a00914_afe116134dc1e5109171e81bab6c2afd8_icgraph" alt=""/></div> 1398<map name="a00914_afe116134dc1e5109171e81bab6c2afd8_icgraph" id="a00914_afe116134dc1e5109171e81bab6c2afd8_icgraph"> 1399<area shape="rect" id="node2" href="a00911.html#ae748e1330b5a94783c6d4ea2ad9e4f28" title="initializeSensors" alt="" coords="167,5,284,32"/> 1400</map> 1401</div> 1402 1403</div> 1404</div> 1405<a id="a9ef1a7ef89f75f9436eb6a121a1a1a66"></a> 1406<h2 class="memtitle"><span class="permalink"><a href="#a9ef1a7ef89f75f9436eb6a121a1a1a66">◆ </a></span>ApplyGyroHAL()</h2> 1407 1408<div class="memitem"> 1409<div class="memproto"> 1410 <table class="memname"> 1411 <tr> 1412 <td class="memname">void ApplyGyroHAL </td> 1413 <td>(</td> 1414 <td class="paramtype">struct <a class="el" href="a04007.html">GyroSensor</a> * </td> 1415 <td class="paramname"><em>Gyro</em></td><td>)</td> 1416 <td></td> 1417 </tr> 1418 </table> 1419</div><div class="memdoc"> 1420 1421<p>Apply the gyroscope Hardware Abstraction Layer. </p> 1422<dl class="params"><dt>Parameters</dt><dd> 1423 <table class="params"> 1424 <tr><td class="paramname">Gyro</td><td>pointer to gyroscope logical sensor </td></tr> 1425 </table> 1426 </dd> 1427</dl> 1428 1429<p class="definition">Definition at line <a class="el" href="a00851_source.html#l00077">77</a> of file <a class="el" href="a00851_source.html">hal_frdm_fxs_mult2_b.c</a>.</p> 1430 1431<p class="reference">References <a class="el" href="a00914_source.html#l00060">CHX</a>, <a class="el" href="a00914_source.html#l00061">CHY</a>, <a class="el" href="a00914_source.html#l00062">CHZ</a>, <a class="el" href="a00914_source.html#l00240">GyroSensor::iFIFOCount</a>, and <a class="el" href="a00914_source.html#l00242">GyroSensor::iYsFIFO</a>.</p> 1432 1433<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00197">processMagData()</a>.</p> 1434<div class="dynheader"> 1435Here is the caller graph for this function:</div> 1436<div class="dyncontent"> 1437<div class="center"><img src="a00914_a9ef1a7ef89f75f9436eb6a121a1a1a66_icgraph.png" border="0" usemap="#a00914_a9ef1a7ef89f75f9436eb6a121a1a1a66_icgraph" alt=""/></div> 1438<map name="a00914_a9ef1a7ef89f75f9436eb6a121a1a1a66_icgraph" id="a00914_a9ef1a7ef89f75f9436eb6a121a1a1a66_icgraph"> 1439<area shape="rect" id="node2" href="a00911.html#aaf8b47198fa614f0b50265addf44a8b0" title="processMagData" alt="" coords="161,5,281,32"/> 1440</map> 1441</div> 1442 1443</div> 1444</div> 1445<a id="a706bba14747c3d73c6f2bb2e95b7d558"></a> 1446<h2 class="memtitle"><span class="permalink"><a href="#a706bba14747c3d73c6f2bb2e95b7d558">◆ </a></span>ApplyMagHAL()</h2> 1447 1448<div class="memitem"> 1449<div class="memproto"> 1450 <table class="memname"> 1451 <tr> 1452 <td class="memname">void ApplyMagHAL </td> 1453 <td>(</td> 1454 <td class="paramtype">struct <a class="el" href="a04003.html">MagSensor</a> * </td> 1455 <td class="paramname"><em>Mag</em></td><td>)</td> 1456 <td></td> 1457 </tr> 1458 </table> 1459</div><div class="memdoc"> 1460 1461<p>Apply the magnetometer Hardware Abstraction Layer. </p> 1462<dl class="params"><dt>Parameters</dt><dd> 1463 <table class="params"> 1464 <tr><td class="paramname">Mag</td><td>pointer to magnetometer logical sensor </td></tr> 1465 </table> 1466 </dd> 1467</dl> 1468 1469<p class="definition">Definition at line <a class="el" href="a00851_source.html#l00049">49</a> of file <a class="el" href="a00851_source.html">hal_frdm_fxs_mult2_b.c</a>.</p> 1470 1471<p class="reference">References <a class="el" href="a00914_source.html#l00060">CHX</a>, <a class="el" href="a00914_source.html#l00061">CHY</a>, <a class="el" href="a00914_source.html#l00062">CHZ</a>, <a class="el" href="a00914_source.html#l00220">MagSensor::iBsFIFO</a>, and <a class="el" href="a00914_source.html#l00218">MagSensor::iFIFOCount</a>.</p> 1472 1473<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00197">processMagData()</a>.</p> 1474<div class="dynheader"> 1475Here is the caller graph for this function:</div> 1476<div class="dyncontent"> 1477<div class="center"><img src="a00914_a706bba14747c3d73c6f2bb2e95b7d558_icgraph.png" border="0" usemap="#a00914_a706bba14747c3d73c6f2bb2e95b7d558_icgraph" alt=""/></div> 1478<map name="a00914_a706bba14747c3d73c6f2bb2e95b7d558_icgraph" id="a00914_a706bba14747c3d73c6f2bb2e95b7d558_icgraph"> 1479<area shape="rect" id="node2" href="a00911.html#aaf8b47198fa614f0b50265addf44a8b0" title="processMagData" alt="" coords="159,5,279,32"/> 1480</map> 1481</div> 1482 1483</div> 1484</div> 1485<a id="a9af8710b3e87acd2a33e7988b2d75b6c"></a> 1486<h2 class="memtitle"><span class="permalink"><a href="#a9af8710b3e87acd2a33e7988b2d75b6c">◆ </a></span>clearFIFOs()</h2> 1487 1488<div class="memitem"> 1489<div class="memproto"> 1490 <table class="memname"> 1491 <tr> 1492 <td class="memname">void clearFIFOs </td> 1493 <td>(</td> 1494 <td class="paramtype"><a class="el" href="a04047.html">SensorFusionGlobals</a> * </td> 1495 <td class="paramname"><em>sfg</em></td><td>)</td> 1496 <td></td> 1497 </tr> 1498 </table> 1499</div><div class="memdoc"> 1500 1501<p>Function to clear FIFO at the end of each fusion computation. </p> 1502<dl class="params"><dt>Parameters</dt><dd> 1503 <table class="params"> 1504 <tr><td class="paramname">sfg</td><td>Global data structure pointer </td></tr> 1505 </table> 1506 </dd> 1507</dl> 1508 1509<p class="definition">Definition at line <a class="el" href="a00911_source.html#l00354">354</a> of file <a class="el" href="a00911_source.html">sensor_fusion.c</a>.</p> 1510 1511<p class="reference">References <a class="el" href="a00914_source.html#l00218">MagSensor::iFIFOCount</a>, <a class="el" href="a00914_source.html#l00219">MagSensor::iFIFOExceeded</a>, and <a class="el" href="a00914_source.html#l00489">SensorFusionGlobals::Mag</a>.</p> 1512 1513<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00462">initializeFusionEngine()</a>, <a class="el" href="a00911_source.html#l00051">initSensorFusionGlobals()</a>, and <a class="el" href="a00911_source.html#l00377">runFusion()</a>.</p> 1514<div class="dynheader"> 1515Here is the caller graph for this function:</div> 1516<div class="dyncontent"> 1517<div class="center"><img src="a00914_a9af8710b3e87acd2a33e7988b2d75b6c_icgraph.png" border="0" usemap="#a00914_a9af8710b3e87acd2a33e7988b2d75b6c_icgraph" alt=""/></div> 1518<map name="a00914_a9af8710b3e87acd2a33e7988b2d75b6c_icgraph" id="a00914_a9af8710b3e87acd2a33e7988b2d75b6c_icgraph"> 1519<area shape="rect" id="node2" href="a00911.html#ab088da7731ffdf25710a364a7f88b224" title="initializeFusionEngine" alt="" coords="140,5,288,32"/> 1520<area shape="rect" id="node3" href="a00914.html#a367d92b99365a8143700b76439915d65" title="utility function to insert default values in the top level structure " alt="" coords="336,56,499,83"/> 1521<area shape="rect" id="node4" href="a00911.html#a8b90119fee979d0309cc923bf1fad543" title="runFusion" alt="" coords="175,107,253,133"/> 1522</map> 1523</div> 1524 1525</div> 1526</div> 1527<a id="a2686eeb8ae44e588362478db1f757a0e"></a> 1528<h2 class="memtitle"><span class="permalink"><a href="#a2686eeb8ae44e588362478db1f757a0e">◆ </a></span>conditionSample()</h2> 1529 1530<div class="memitem"> 1531<div class="memproto"> 1532 <table class="memname"> 1533 <tr> 1534 <td class="memname">void conditionSample </td> 1535 <td>(</td> 1536 <td class="paramtype">int16_t </td> 1537 <td class="paramname"><em>sample</em>[3]</td><td>)</td> 1538 <td></td> 1539 </tr> 1540 </table> 1541</div><div class="memdoc"> 1542 1543<p>conditionSample ensures that we never encounter the maximum negative two's complement value for a 16-bit variable (-32768). </p> 1544<p>conditionSample ensures that we never encounter the maximum negative two's complement value for a 16-bit variable (-32768). This value cannot be negated, because the maximum positive value is +32767. We need the ability to negate to gaurantee that subsequent HAL operations can be run successfully. </p> 1545<dl class="params"><dt>Parameters</dt><dd> 1546 <table class="params"> 1547 <tr><td class="paramname">sample</td><td>16-bit register value from triaxial sensor read </td></tr> 1548 </table> 1549 </dd> 1550</dl> 1551 1552<p class="definition">Definition at line <a class="el" href="a00911_source.html#l00510">510</a> of file <a class="el" href="a00911_source.html">sensor_fusion.c</a>.</p> 1553 1554<p class="reference">References <a class="el" href="a00914_source.html#l00060">CHX</a>, <a class="el" href="a00914_source.html#l00061">CHY</a>, and <a class="el" href="a00914_source.html#l00062">CHZ</a>.</p> 1555 1556<p class="reference">Referenced by <a class="el" href="a00803_source.html#l00156">FXLS8471Q_Read()</a>, <a class="el" href="a00812_source.html#l00130">FXOS8700_Init()</a>, <a class="el" href="a00812_source.html#l00220">FXOS8700_ReadMagData()</a>, and <a class="el" href="a00821_source.html#l00113">MAG3110_Read()</a>.</p> 1557<div class="dynheader"> 1558Here is the caller graph for this function:</div> 1559<div class="dyncontent"> 1560<div class="center"><img src="a00914_a2686eeb8ae44e588362478db1f757a0e_icgraph.png" border="0" usemap="#a00914_a2686eeb8ae44e588362478db1f757a0e_icgraph" alt=""/></div> 1561<map name="a00914_a2686eeb8ae44e588362478db1f757a0e_icgraph" id="a00914_a2686eeb8ae44e588362478db1f757a0e_icgraph"> 1562<area shape="rect" id="node2" href="a00842.html#ac818465f3f2f5bd60e71c5c7d8a8a261" title="FXLS8471Q_Read" alt="" coords="195,5,323,32"/> 1563<area shape="rect" id="node3" href="a00842.html#ac61bf451efc3a4eab179dbc59268b3e7" title="FXOS8700_Init" alt="" coords="205,56,313,83"/> 1564<area shape="rect" id="node4" href="a00812.html#a16645c35980d715e5252f30beebecaa2" title="FXOS8700_ReadMagData" alt="" coords="172,107,345,133"/> 1565<area shape="rect" id="node5" href="a00842.html#a2592117f3e2fed5f61ff029cb18fa556" title="MAG3110_Read" alt="" coords="200,157,317,184"/> 1566</map> 1567</div> 1568 1569</div> 1570</div> 1571<a id="aef2b1f23f820d2b513bc827f8baffd0d"></a> 1572<h2 class="memtitle"><span class="permalink"><a href="#aef2b1f23f820d2b513bc827f8baffd0d">◆ </a></span>conditionSensorReadings()</h2> 1573 1574<div class="memitem"> 1575<div class="memproto"> 1576 <table class="memname"> 1577 <tr> 1578 <td class="memname">void conditionSensorReadings </td> 1579 <td>(</td> 1580 <td class="paramtype"><a class="el" href="a04047.html">SensorFusionGlobals</a> * </td> 1581 <td class="paramname"><em>sfg</em></td><td>)</td> 1582 <td></td> 1583 </tr> 1584 </table> 1585</div><div class="memdoc"> 1586<p><a class="el" href="a00914.html#aef2b1f23f820d2b513bc827f8baffd0d">conditionSensorReadings()</a> transforms raw software FIFO readings into forms that can be consumed by the sensor fusion engine. This include sample averaging and (in the case of the gyro) integrations, applying hardware abstraction layers, and calibration functions. This function is normally involved via the "sfg." global pointer. </p> 1587<dl class="params"><dt>Parameters</dt><dd> 1588 <table class="params"> 1589 <tr><td class="paramname">sfg</td><td>Global data structure pointer </td></tr> 1590 </table> 1591 </dd> 1592</dl> 1593 1594<p class="definition">Definition at line <a class="el" href="a00911_source.html#l00296">296</a> of file <a class="el" href="a00911_source.html">sensor_fusion.c</a>.</p> 1595 1596<p class="reference">References <a class="el" href="a00914_source.html#l00217">MagSensor::isEnabled</a>, <a class="el" href="a00914_source.html#l00489">SensorFusionGlobals::Mag</a>, and <a class="el" href="a00911_source.html#l00197">processMagData()</a>.</p> 1597 1598<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00051">initSensorFusionGlobals()</a>.</p> 1599<div class="dynheader"> 1600Here is the call graph for this function:</div> 1601<div class="dyncontent"> 1602<div class="center"><img src="a00914_aef2b1f23f820d2b513bc827f8baffd0d_cgraph.png" border="0" usemap="#a00914_aef2b1f23f820d2b513bc827f8baffd0d_cgraph" alt=""/></div> 1603<map name="a00914_aef2b1f23f820d2b513bc827f8baffd0d_cgraph" id="a00914_aef2b1f23f820d2b513bc827f8baffd0d_cgraph"> 1604<area shape="rect" id="node2" href="a00911.html#aaf8b47198fa614f0b50265addf44a8b0" title="processMagData" alt="" coords="223,5,343,32"/> 1605</map> 1606</div> 1607<div class="dynheader"> 1608Here is the caller graph for this function:</div> 1609<div class="dyncontent"> 1610<div class="center"><img src="a00914_aef2b1f23f820d2b513bc827f8baffd0d_icgraph.png" border="0" usemap="#a00914_aef2b1f23f820d2b513bc827f8baffd0d_icgraph" alt=""/></div> 1611<map name="a00914_aef2b1f23f820d2b513bc827f8baffd0d_icgraph" id="a00914_aef2b1f23f820d2b513bc827f8baffd0d_icgraph"> 1612<area shape="rect" id="node2" href="a00914.html#a367d92b99365a8143700b76439915d65" title="utility function to insert default values in the top level structure " alt="" coords="223,5,385,32"/> 1613</map> 1614</div> 1615 1616</div> 1617</div> 1618<a id="a367d92b99365a8143700b76439915d65"></a> 1619<h2 class="memtitle"><span class="permalink"><a href="#a367d92b99365a8143700b76439915d65">◆ </a></span>initSensorFusionGlobals()</h2> 1620 1621<div class="memitem"> 1622<div class="memproto"> 1623 <table class="memname"> 1624 <tr> 1625 <td class="memname">void initSensorFusionGlobals </td> 1626 <td>(</td> 1627 <td class="paramtype"><a class="el" href="a04047.html">SensorFusionGlobals</a> * </td> 1628 <td class="paramname"><em>sfg</em>, </td> 1629 </tr> 1630 <tr> 1631 <td class="paramkey"></td> 1632 <td></td> 1633 <td class="paramtype">struct <a class="el" href="a04051.html">StatusSubsystem</a> * </td> 1634 <td class="paramname"><em>pStatusSubsystem</em>, </td> 1635 </tr> 1636 <tr> 1637 <td class="paramkey"></td> 1638 <td></td> 1639 <td class="paramtype">struct <a class="el" href="a03967.html">ControlSubsystem</a> * </td> 1640 <td class="paramname"><em>pControlSubsystem</em> </td> 1641 </tr> 1642 <tr> 1643 <td></td> 1644 <td>)</td> 1645 <td></td><td></td> 1646 </tr> 1647 </table> 1648</div><div class="memdoc"> 1649 1650<p>utility function to insert default values in the top level structure </p> 1651<dl class="params"><dt>Parameters</dt><dd> 1652 <table class="params"> 1653 <tr><td class="paramname">sfg</td><td>Global data structure pointer </td></tr> 1654 <tr><td class="paramname">pStatusSubsystem</td><td>Status subsystem pointer </td></tr> 1655 <tr><td class="paramname">pControlSubsystem</td><td>Control subsystem pointer </td></tr> 1656 </table> 1657 </dd> 1658</dl> 1659 1660<p class="definition">Definition at line <a class="el" href="a00911_source.html#l00051">51</a> of file <a class="el" href="a00911_source.html">sensor_fusion.c</a>.</p> 1661 1662<p class="reference">References <a class="el" href="a00914_source.html#l00526">SensorFusionGlobals::applyPerturbation</a>, <a class="el" href="a00914_source.html#l00613">ApplyPerturbation</a>, <a class="el" href="a00911_source.html#l00354">clearFIFOs()</a>, <a class="el" href="a00914_source.html#l00530">SensorFusionGlobals::clearFIFOs</a>, <a class="el" href="a00911_source.html#l00296">conditionSensorReadings()</a>, <a class="el" href="a00914_source.html#l00529">SensorFusionGlobals::conditionSensorReadings</a>, <a class="el" href="a00917_source.html#l00050">F_1DOF_P_BASIC</a>, <a class="el" href="a00917_source.html#l00052">F_3DOF_B_BASIC</a>, <a class="el" href="a00917_source.html#l00051">F_3DOF_G_BASIC</a>, <a class="el" href="a00917_source.html#l00053">F_3DOF_Y_BASIC</a>, <a class="el" href="a00917_source.html#l00054">F_6DOF_GB_BASIC</a>, <a class="el" href="a00917_source.html#l00055">F_6DOF_GY_KALMAN</a>, <a class="el" href="a00917_source.html#l00056">F_9DOF_GBY_KALMAN</a>, <a class="el" href="a00917_source.html#l00043">F_ALL_SENSORS</a>, <a class="el" href="a00917_source.html#l00038">F_USING_ACCEL</a>, <a class="el" href="a00917_source.html#l00040">F_USING_GYRO</a>, <a class="el" href="a00857_source.html#l00021">F_USING_MAG</a>, <a class="el" href="a00917_source.html#l00041">F_USING_PRESSURE</a>, <a class="el" href="a00917_source.html#l00042">F_USING_TEMPERATURE</a>, <a class="el" href="a00914_source.html#l00467">SensorFusionGlobals::iFlags</a>, <a class="el" href="a00911_source.html#l00462">initializeFusionEngine()</a>, <a class="el" href="a00914_source.html#l00525">SensorFusionGlobals::initializeFusionEngine</a>, <a class="el" href="a00911_source.html#l00105">installSensor()</a>, <a class="el" href="a00914_source.html#l00524">SensorFusionGlobals::installSensor</a>, <a class="el" href="a00914_source.html#l00469">SensorFusionGlobals::iPerturbation</a>, <a class="el" href="a00914_source.html#l00216">MagSensor::iWhoAmI</a>, <a class="el" href="a00914_source.html#l00471">SensorFusionGlobals::loopcounter</a>, <a class="el" href="a00914_source.html#l00489">SensorFusionGlobals::Mag</a>, <a class="el" href="a00914_source.html#l00462">SensorFusionGlobals::pControlSubsystem</a>, <a class="el" href="a00914_source.html#l00468">SensorFusionGlobals::pSensors</a>, <a class="el" href="a00914_source.html#l00463">SensorFusionGlobals::pStatusSubsystem</a>, <a class="el" href="a00911_source.html#l00033">queueStatus()</a>, <a class="el" href="a00914_source.html#l00532">SensorFusionGlobals::queueStatus</a>, <a class="el" href="a00911_source.html#l00267">readSensors()</a>, <a class="el" href="a00914_source.html#l00527">SensorFusionGlobals::readSensors</a>, <a class="el" href="a00911_source.html#l00377">runFusion()</a>, <a class="el" href="a00914_source.html#l00528">SensorFusionGlobals::runFusion</a>, <a class="el" href="a00911_source.html#l00026">setStatus()</a>, <a class="el" href="a00914_source.html#l00531">SensorFusionGlobals::setStatus</a>, <a class="el" href="a00914_source.html#l00472">SensorFusionGlobals::systick_I2C</a>, <a class="el" href="a00914_source.html#l00473">SensorFusionGlobals::systick_Spare</a>, <a class="el" href="a00911_source.html#l00045">testStatus()</a>, <a class="el" href="a00914_source.html#l00534">SensorFusionGlobals::testStatus</a>, <a class="el" href="a00911_source.html#l00040">updateStatus()</a>, and <a class="el" href="a00914_source.html#l00533">SensorFusionGlobals::updateStatus</a>.</p> 1663 1664<p class="reference">Referenced by <a class="el" href="a00860_source.html#l00059">main()</a>.</p> 1665<div class="dynheader"> 1666Here is the call graph for this function:</div> 1667<div class="dyncontent"> 1668<div class="center"><img src="a00914_a367d92b99365a8143700b76439915d65_cgraph.png" border="0" usemap="#a00914_a367d92b99365a8143700b76439915d65_cgraph" alt=""/></div> 1669<map name="a00914_a367d92b99365a8143700b76439915d65_cgraph" id="a00914_a367d92b99365a8143700b76439915d65_cgraph"> 1670<area shape="rect" id="node2" href="a00911.html#a9af8710b3e87acd2a33e7988b2d75b6c" title="Function to clear FIFO at the end of each fusion computation. " alt="" coords="433,92,520,119"/> 1671<area shape="rect" id="node3" href="a00911.html#aef2b1f23f820d2b513bc827f8baffd0d" title="conditionSensorReadings" alt="" coords="216,41,385,68"/> 1672<area shape="rect" id="node4" href="a00911.html#ab088da7731ffdf25710a364a7f88b224" title="initializeFusionEngine" alt="" coords="227,92,375,119"/> 1673<area shape="rect" id="node5" href="a00911.html#ad86ade0d4a34861b6a7bb0d232fb8e0c" title="installSensor" alt="" coords="252,143,349,169"/> 1674<area shape="rect" id="node6" href="a00911.html#ae96e36747e6a1aabbec1381f15132ec6" title="queueStatus" alt="" coords="253,193,348,220"/> 1675<area shape="rect" id="node7" href="a00911.html#a0d688188b65f43d38ac760a79d9eb116" title="readSensors" alt="" coords="253,244,348,271"/> 1676<area shape="rect" id="node8" href="a00911.html#a8b90119fee979d0309cc923bf1fad543" title="runFusion" alt="" coords="261,295,340,321"/> 1677<area shape="rect" id="node9" href="a00911.html#a741fd2193cc58c09b692d1ae2b7a81e8" title="setStatus" alt="" coords="261,345,340,372"/> 1678<area shape="rect" id="node10" href="a00911.html#a142a0a30c123f8acf79a3e8e5072cad8" title="testStatus" alt="" coords="259,396,342,423"/> 1679<area shape="rect" id="node11" href="a00911.html#aa13c4a9f07f3a2abfdb2e0808e5752d4" title="updateStatus" alt="" coords="251,447,350,473"/> 1680</map> 1681</div> 1682<div class="dynheader"> 1683Here is the caller graph for this function:</div> 1684<div class="dyncontent"> 1685<div class="center"><img src="a00914_a367d92b99365a8143700b76439915d65_icgraph.png" border="0" usemap="#a00914_a367d92b99365a8143700b76439915d65_icgraph" alt=""/></div> 1686<map name="a00914_a367d92b99365a8143700b76439915d65_icgraph" id="a00914_a367d92b99365a8143700b76439915d65_icgraph"> 1687<area shape="rect" id="node2" href="a00860.html#a840291bc02cba5474a4cb46a9b9566fe" title="This is a FreeRTOS (dual task) implementation of the NXP sensor fusion demo build. " alt="" coords="216,5,267,32"/> 1688</map> 1689</div> 1690 1691</div> 1692</div> 1693<a id="a017fe7907e982f06eb66a446d055aaad"></a> 1694<h2 class="memtitle"><span class="permalink"><a href="#a017fe7907e982f06eb66a446d055aaad">◆ </a></span>zeroArray()</h2> 1695 1696<div class="memitem"> 1697<div class="memproto"> 1698 <table class="memname"> 1699 <tr> 1700 <td class="memname">void zeroArray </td> 1701 <td>(</td> 1702 <td class="paramtype">struct <a class="el" href="a04051.html">StatusSubsystem</a> * </td> 1703 <td class="paramname"><em>pStatus</em>, </td> 1704 </tr> 1705 <tr> 1706 <td class="paramkey"></td> 1707 <td></td> 1708 <td class="paramtype">void * </td> 1709 <td class="paramname"><em>data</em>, </td> 1710 </tr> 1711 <tr> 1712 <td class="paramkey"></td> 1713 <td></td> 1714 <td class="paramtype">uint16_t </td> 1715 <td class="paramname"><em>size</em>, </td> 1716 </tr> 1717 <tr> 1718 <td class="paramkey"></td> 1719 <td></td> 1720 <td class="paramtype">uint16_t </td> 1721 <td class="paramname"><em>numElements</em>, </td> 1722 </tr> 1723 <tr> 1724 <td class="paramkey"></td> 1725 <td></td> 1726 <td class="paramtype">uint8_t </td> 1727 <td class="paramname"><em>check</em> </td> 1728 </tr> 1729 <tr> 1730 <td></td> 1731 <td>)</td> 1732 <td></td><td></td> 1733 </tr> 1734 </table> 1735</div><div class="memdoc"> 1736<dl class="params"><dt>Parameters</dt><dd> 1737 <table class="params"> 1738 <tr><td class="paramname">pStatus</td><td>Status subsystem pointer </td></tr> 1739 <tr><td class="paramname">data</td><td>pointer to array to be zeroed </td></tr> 1740 <tr><td class="paramname">size</td><td>data type size = 8, 16 or 32 </td></tr> 1741 <tr><td class="paramname">numElements</td><td>number of elements to zero out </td></tr> 1742 <tr><td class="paramname">check</td><td>true if you would like to verify writes, false otherwise </td></tr> 1743 </table> 1744 </dd> 1745</dl> 1746 1747<p class="definition">Definition at line <a class="el" href="a00911_source.html#l00311">311</a> of file <a class="el" href="a00911_source.html">sensor_fusion.c</a>.</p> 1748 1749<p class="reference">References <a class="el" href="a00428_source.html#l00174">data</a>, <a class="el" href="a00914_source.html#l00111">HARD_FAULT</a>, and <a class="el" href="a00923_source.html#l00028">StatusSubsystem::set</a>.</p> 1750 1751</div> 1752</div> 1753<h2 class="groupheader">Variable Documentation</h2> 1754<a id="acf78cd74de357ad4670c6efeea8506cf"></a> 1755<h2 class="memtitle"><span class="permalink"><a href="#acf78cd74de357ad4670c6efeea8506cf">◆ </a></span>ApplyPerturbation</h2> 1756 1757<div class="memitem"> 1758<div class="memproto"> 1759 <table class="memname"> 1760 <tr> 1761 <td class="memname"><a class="el" href="a00914.html#a9b6853545f9fd000a9ef11a03b4c130e">applyPerturbation_t</a> ApplyPerturbation</td> 1762 </tr> 1763 </table> 1764</div><div class="memdoc"> 1765 1766<p>ApplyPerturbation is a reverse unit-step test function. </p> 1767<p>The ApplyPerturbation function applies a user-specified step function to prior fusion results which is then "released" in the next fusion cycle. When used in conjuction with the NXP Sensor Fusion Toolbox, this provides a visual indication of the dynamic behavior of the library. <a class="el" href="a00914.html#acf78cd74de357ad4670c6efeea8506cf" title="ApplyPerturbation is a reverse unit-step test function. ">ApplyPerturbation()</a> is defined in <a class="el" href="a00788.html" title="ApplyPerturbation function used to analyze dynamic performance. ">debug.c</a>. </p> 1768 1769<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00613">613</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1770 1771<p class="reference">Referenced by <a class="el" href="a00911_source.html#l00051">initSensorFusionGlobals()</a>.</p> 1772 1773</div> 1774</div> 1775<a id="a99db746b404e59b1c5d3bd48a2c9781b"></a> 1776<h2 class="memtitle"><span class="permalink"><a href="#a99db746b404e59b1c5d3bd48a2c9781b">◆ </a></span>initializeFusionEngine</h2> 1777 1778<div class="memitem"> 1779<div class="memproto"> 1780 <table class="memname"> 1781 <tr> 1782 <td class="memname"><a class="el" href="a00914.html#a91bce55afe8312557380a10d347fb7eb">initializeFusionEngine_t</a> initializeFusionEngine</td> 1783 </tr> 1784 </table> 1785</div><div class="memdoc"> 1786 1787<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00545">545</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1788 1789</div> 1790</div> 1791<a id="a9b8e6eefda0d8416278527b22f1ef018"></a> 1792<h2 class="memtitle"><span class="permalink"><a href="#a9b8e6eefda0d8416278527b22f1ef018">◆ </a></span>installSensor</h2> 1793 1794<div class="memitem"> 1795<div class="memproto"> 1796 <table class="memname"> 1797 <tr> 1798 <td class="memname"><a class="el" href="a00914.html#a39e532557a164efa4ae8b0f87aacca68">installSensor_t</a> installSensor</td> 1799 </tr> 1800 </table> 1801</div><div class="memdoc"> 1802 1803<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00544">544</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1804 1805</div> 1806</div> 1807<a id="ae645f944ac29c74108a8af89411ce81e"></a> 1808<h2 class="memtitle"><span class="permalink"><a href="#ae645f944ac29c74108a8af89411ce81e">◆ </a></span>readSensors</h2> 1809 1810<div class="memitem"> 1811<div class="memproto"> 1812 <table class="memname"> 1813 <tr> 1814 <td class="memname"><a class="el" href="a00914.html#a5808c4001587c0ba91a6774e978568e1">readSensors_t</a> readSensors</td> 1815 </tr> 1816 </table> 1817</div><div class="memdoc"> 1818 1819<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00558">558</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1820 1821</div> 1822</div> 1823<a id="a78120ff16602bda9664a1874f66b3d72"></a> 1824<h2 class="memtitle"><span class="permalink"><a href="#a78120ff16602bda9664a1874f66b3d72">◆ </a></span>runFusion</h2> 1825 1826<div class="memitem"> 1827<div class="memproto"> 1828 <table class="memname"> 1829 <tr> 1830 <td class="memname"><a class="el" href="a00914.html#ab0f33bc511631f43f4dce6d5b9612e4e">runFusion_t</a> runFusion</td> 1831 </tr> 1832 </table> 1833</div><div class="memdoc"> 1834 1835<p class="definition">Definition at line <a class="el" href="a00914_source.html#l00557">557</a> of file <a class="el" href="a00914_source.html">sensor_fusion.h</a>.</p> 1836 1837</div> 1838</div> 1839</div><!-- contents --> 1840 1841<hr class="footer"/><address class="footer"><small> 1842© Copyright 2016-2022 NXP. All Rights Reserved. SPDX-License-Identifier: BSD-3-Clause 1843</small></address> 1844</body> 1845</html> 1846