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/orientation.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="#typedef-members">Typedefs</a> | 50<a href="#func-members">Functions</a> </div> 51 <div class="headertitle"> 52<div class="title">orientation.h File Reference</div> </div> 53</div><!--header--> 54<div class="contents"> 55 56<p>Functions to convert between various orientation representations. 57<a href="#details">More...</a></p> 58<div class="textblock"><div class="dynheader"> 59This graph shows which files directly or indirectly include this file:</div> 60<div class="dyncontent"> 61<div class="center"><img src="a00901.png" border="0" usemap="#algorithms_2sensorfusion_2sources_2orientation_8hdep" alt=""/></div> 62<map name="algorithms_2sensorfusion_2sources_2orientation_8hdep" id="algorithms_2sensorfusion_2sources_2orientation_8hdep"> 63<area shape="rect" id="node2" href="a00914.html" title="The sensor_fusion.h file implements the top level programming interface. " alt="" coords="108,95,275,136"/> 64<area shape="rect" id="node3" href="a00845.html" title="Lower level sensor fusion interface. " alt="" coords="5,184,164,225"/> 65<area shape="rect" id="node4" href="a00896.html" title="Functions to convert between various orientation representations. " alt="" coords="217,184,376,225"/> 66</map> 67</div> 68</div> 69<p><a href="a00899_source.html">Go to the source code of this file.</a></p> 70<table class="memberdecls"> 71<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> 72Data Structures</h2></td></tr> 73<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a03979.html">Quaternion</a></td></tr> 74<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">quaternion structure definition <a href="a03979.html#details">More...</a><br /></td></tr> 75<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 76</table><table class="memberdecls"> 77<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> 78Typedefs</h2></td></tr> 79<tr class="memitem:a5cd3d2a1a3d256bebeec4da81b7f4d94"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a03979.html">Quaternion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a5cd3d2a1a3d256bebeec4da81b7f4d94">Quaternion</a></td></tr> 80<tr class="memdesc:a5cd3d2a1a3d256bebeec4da81b7f4d94"><td class="mdescLeft"> </td><td class="mdescRight">quaternion structure definition <a href="#a5cd3d2a1a3d256bebeec4da81b7f4d94">More...</a><br /></td></tr> 81<tr class="separator:a5cd3d2a1a3d256bebeec4da81b7f4d94"><td class="memSeparator" colspan="2"> </td></tr> 82</table><table class="memberdecls"> 83<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 84Functions</h2></td></tr> 85<tr class="memitem:addec350696b9ab89918808b56292bd9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#addec350696b9ab89918808b56292bd9a">f3DOFTiltNED</a> (float fR[][3], float fGc[])</td></tr> 86<tr class="memdesc:addec350696b9ab89918808b56292bd9a"><td class="mdescLeft"> </td><td class="mdescRight">Aerospace NED accelerometer 3DOF tilt function, computing rotation matrix fR. <a href="#addec350696b9ab89918808b56292bd9a">More...</a><br /></td></tr> 87<tr class="separator:addec350696b9ab89918808b56292bd9a"><td class="memSeparator" colspan="2"> </td></tr> 88<tr class="memitem:a480280c72c7243e5c192cab628e0a38d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a480280c72c7243e5c192cab628e0a38d">f3DOFTiltAndroid</a> (float fR[][3], float fGc[])</td></tr> 89<tr class="memdesc:a480280c72c7243e5c192cab628e0a38d"><td class="mdescLeft"> </td><td class="mdescRight">Android accelerometer 3DOF tilt function computing, rotation matrix fR. <a href="#a480280c72c7243e5c192cab628e0a38d">More...</a><br /></td></tr> 90<tr class="separator:a480280c72c7243e5c192cab628e0a38d"><td class="memSeparator" colspan="2"> </td></tr> 91<tr class="memitem:a292e27a8f966749f38e5e7936b05e29b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a292e27a8f966749f38e5e7936b05e29b">f3DOFTiltWin8</a> (float fR[][3], float fGc[])</td></tr> 92<tr class="memdesc:a292e27a8f966749f38e5e7936b05e29b"><td class="mdescLeft"> </td><td class="mdescRight">Windows 8 accelerometer 3DOF tilt function computing, rotation matrix fR. <a href="#a292e27a8f966749f38e5e7936b05e29b">More...</a><br /></td></tr> 93<tr class="separator:a292e27a8f966749f38e5e7936b05e29b"><td class="memSeparator" colspan="2"> </td></tr> 94<tr class="memitem:a3aea6b9a9647d15db0dad4be820fbba9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a3aea6b9a9647d15db0dad4be820fbba9">f3DOFMagnetometerMatrixNED</a> (float fR[][3], float fBc[])</td></tr> 95<tr class="memdesc:a3aea6b9a9647d15db0dad4be820fbba9"><td class="mdescLeft"> </td><td class="mdescRight">Aerospace NED magnetometer 3DOF flat eCompass function, computing rotation matrix fR. <a href="#a3aea6b9a9647d15db0dad4be820fbba9">More...</a><br /></td></tr> 96<tr class="separator:a3aea6b9a9647d15db0dad4be820fbba9"><td class="memSeparator" colspan="2"> </td></tr> 97<tr class="memitem:a765e472022e2ba9717989e6527df49a8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a765e472022e2ba9717989e6527df49a8">f3DOFMagnetometerMatrixAndroid</a> (float fR[][3], float fBc[])</td></tr> 98<tr class="memdesc:a765e472022e2ba9717989e6527df49a8"><td class="mdescLeft"> </td><td class="mdescRight">Android magnetometer 3DOF flat eCompass function, computing rotation matrix fR. <a href="#a765e472022e2ba9717989e6527df49a8">More...</a><br /></td></tr> 99<tr class="separator:a765e472022e2ba9717989e6527df49a8"><td class="memSeparator" colspan="2"> </td></tr> 100<tr class="memitem:a79e9bfb4c86c1cd82b83058afd08df10"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a79e9bfb4c86c1cd82b83058afd08df10">f3DOFMagnetometerMatrixWin8</a> (float fR[][3], float fBc[])</td></tr> 101<tr class="memdesc:a79e9bfb4c86c1cd82b83058afd08df10"><td class="mdescLeft"> </td><td class="mdescRight">Windows 8 magnetometer 3DOF flat eCompass function, computing rotation matrix fR. <a href="#a79e9bfb4c86c1cd82b83058afd08df10">More...</a><br /></td></tr> 102<tr class="separator:a79e9bfb4c86c1cd82b83058afd08df10"><td class="memSeparator" colspan="2"> </td></tr> 103<tr class="memitem:afcde979fba0bcae15591096fe68648c9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#afcde979fba0bcae15591096fe68648c9">feCompassNED</a> (float fR[][3], float *pfDelta, float *pfsinDelta, float *pfcosDelta, float fBc[], float fGc[], float *pfmodBc, float *pfmodGc)</td></tr> 104<tr class="memdesc:afcde979fba0bcae15591096fe68648c9"><td class="mdescLeft"> </td><td class="mdescRight">NED: basic 6DOF e-Compass function, computing rotation matrix fR and magnetic inclination angle fDelta. <a href="#afcde979fba0bcae15591096fe68648c9">More...</a><br /></td></tr> 105<tr class="separator:afcde979fba0bcae15591096fe68648c9"><td class="memSeparator" colspan="2"> </td></tr> 106<tr class="memitem:a43ad72cf13f54b0f96355bb7005b6872"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a43ad72cf13f54b0f96355bb7005b6872">feCompassAndroid</a> (float fR[][3], float *pfDelta, float *pfsinDelta, float *pfcosDelta, float fBc[], float fGc[], float *pfmodBc, float *pfmodGc)</td></tr> 107<tr class="memdesc:a43ad72cf13f54b0f96355bb7005b6872"><td class="mdescLeft"> </td><td class="mdescRight">Android: basic 6DOF e-Compass function, computing rotation matrix fR and magnetic inclination angle fDelta. <a href="#a43ad72cf13f54b0f96355bb7005b6872">More...</a><br /></td></tr> 108<tr class="separator:a43ad72cf13f54b0f96355bb7005b6872"><td class="memSeparator" colspan="2"> </td></tr> 109<tr class="memitem:aabc044b27a0cdd7db677c3203b77de90"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#aabc044b27a0cdd7db677c3203b77de90">feCompassWin8</a> (float fR[][3], float *pfDelta, float *pfsinDelta, float *pfcosDelta, float fBc[], float fGc[], float *pfmodBc, float *pfmodGc)</td></tr> 110<tr class="memdesc:aabc044b27a0cdd7db677c3203b77de90"><td class="mdescLeft"> </td><td class="mdescRight">Win8: basic 6DOF e-Compass function, computing rotation matrix fR and magnetic inclination angle fDelta. <a href="#aabc044b27a0cdd7db677c3203b77de90">More...</a><br /></td></tr> 111<tr class="separator:aabc044b27a0cdd7db677c3203b77de90"><td class="memSeparator" colspan="2"> </td></tr> 112<tr class="memitem:aa781ea4b9430531df4697d3cb39f7454"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#aa781ea4b9430531df4697d3cb39f7454">fNEDAnglesDegFromRotationMatrix</a> (float <a class="el" href="a00920.html#a5c71a5e59a53413cd6c270266d63b031">R</a>[][3], float *pfPhiDeg, float *pfTheDeg, float *pfPsiDeg, float *pfRhoDeg, float *pfChiDeg)</td></tr> 113<tr class="memdesc:aa781ea4b9430531df4697d3cb39f7454"><td class="mdescLeft"> </td><td class="mdescRight">extract the NED angles in degrees from the NED rotation matrix <a href="#aa781ea4b9430531df4697d3cb39f7454">More...</a><br /></td></tr> 114<tr class="separator:aa781ea4b9430531df4697d3cb39f7454"><td class="memSeparator" colspan="2"> </td></tr> 115<tr class="memitem:a77eeda9a699b1456bb8b02665ad80522"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a77eeda9a699b1456bb8b02665ad80522">fAndroidAnglesDegFromRotationMatrix</a> (float <a class="el" href="a00920.html#a5c71a5e59a53413cd6c270266d63b031">R</a>[][3], float *pfPhiDeg, float *pfTheDeg, float *pfPsiDeg, float *pfRhoDeg, float *pfChiDeg)</td></tr> 116<tr class="memdesc:a77eeda9a699b1456bb8b02665ad80522"><td class="mdescLeft"> </td><td class="mdescRight">extract the Android angles in degrees from the Android rotation matrix <a href="#a77eeda9a699b1456bb8b02665ad80522">More...</a><br /></td></tr> 117<tr class="separator:a77eeda9a699b1456bb8b02665ad80522"><td class="memSeparator" colspan="2"> </td></tr> 118<tr class="memitem:a13cd93780206a620abc7bdf7907e6dc6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a13cd93780206a620abc7bdf7907e6dc6">fWin8AnglesDegFromRotationMatrix</a> (float <a class="el" href="a00920.html#a5c71a5e59a53413cd6c270266d63b031">R</a>[][3], float *pfPhiDeg, float *pfTheDeg, float *pfPsiDeg, float *pfRhoDeg, float *pfChiDeg)</td></tr> 119<tr class="memdesc:a13cd93780206a620abc7bdf7907e6dc6"><td class="mdescLeft"> </td><td class="mdescRight">extract the Windows 8 angles in degrees from the Windows 8 rotation matrix <a href="#a13cd93780206a620abc7bdf7907e6dc6">More...</a><br /></td></tr> 120<tr class="separator:a13cd93780206a620abc7bdf7907e6dc6"><td class="memSeparator" colspan="2"> </td></tr> 121<tr class="memitem:a04da5468213c1687c5b3485f15af288e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a04da5468213c1687c5b3485f15af288e">fQuaternionFromRotationMatrix</a> (float <a class="el" href="a00920.html#a5c71a5e59a53413cd6c270266d63b031">R</a>[][3], <a class="el" href="a03979.html">Quaternion</a> *pq)</td></tr> 122<tr class="memdesc:a04da5468213c1687c5b3485f15af288e"><td class="mdescLeft"> </td><td class="mdescRight">compute the orientation quaternion from a 3x3 rotation matrix <a href="#a04da5468213c1687c5b3485f15af288e">More...</a><br /></td></tr> 123<tr class="separator:a04da5468213c1687c5b3485f15af288e"><td class="memSeparator" colspan="2"> </td></tr> 124<tr class="memitem:ab93a6fd700fd1557e9b8f6796bfe3035"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#ab93a6fd700fd1557e9b8f6796bfe3035">fRotationMatrixFromQuaternion</a> (float <a class="el" href="a00920.html#a5c71a5e59a53413cd6c270266d63b031">R</a>[][3], const <a class="el" href="a03979.html">Quaternion</a> *pq)</td></tr> 125<tr class="memdesc:ab93a6fd700fd1557e9b8f6796bfe3035"><td class="mdescLeft"> </td><td class="mdescRight">compute the rotation matrix from an orientation quaternion <a href="#ab93a6fd700fd1557e9b8f6796bfe3035">More...</a><br /></td></tr> 126<tr class="separator:ab93a6fd700fd1557e9b8f6796bfe3035"><td class="memSeparator" colspan="2"> </td></tr> 127<tr class="memitem:a12448c36b93d8f3375ce000ef4527b4a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a12448c36b93d8f3375ce000ef4527b4a">qAeqBxC</a> (<a class="el" href="a03979.html">Quaternion</a> *pqA, const <a class="el" href="a03979.html">Quaternion</a> *pqB, const <a class="el" href="a03979.html">Quaternion</a> *pqC)</td></tr> 128<tr class="memdesc:a12448c36b93d8f3375ce000ef4527b4a"><td class="mdescLeft"> </td><td class="mdescRight">function compute the quaternion product qB * qC <a href="#a12448c36b93d8f3375ce000ef4527b4a">More...</a><br /></td></tr> 129<tr class="separator:a12448c36b93d8f3375ce000ef4527b4a"><td class="memSeparator" colspan="2"> </td></tr> 130<tr class="memitem:a22a32becfcb162db012f41ff4f3bc942"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a22a32becfcb162db012f41ff4f3bc942">qAeqAxB</a> (<a class="el" href="a03979.html">Quaternion</a> *pqA, const <a class="el" href="a03979.html">Quaternion</a> *pqB)</td></tr> 131<tr class="memdesc:a22a32becfcb162db012f41ff4f3bc942"><td class="mdescLeft"> </td><td class="mdescRight">function compute the quaternion product qA = qA * qB <a href="#a22a32becfcb162db012f41ff4f3bc942">More...</a><br /></td></tr> 132<tr class="separator:a22a32becfcb162db012f41ff4f3bc942"><td class="memSeparator" colspan="2"> </td></tr> 133<tr class="memitem:adb2ea2734ac13ca77b3218d761fe45e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a03979.html">Quaternion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#adb2ea2734ac13ca77b3218d761fe45e0">qconjgAxB</a> (const <a class="el" href="a03979.html">Quaternion</a> *pqA, const <a class="el" href="a03979.html">Quaternion</a> *pqB)</td></tr> 134<tr class="memdesc:adb2ea2734ac13ca77b3218d761fe45e0"><td class="mdescLeft"> </td><td class="mdescRight">function compute the quaternion product conjg(qA) * qB <a href="#adb2ea2734ac13ca77b3218d761fe45e0">More...</a><br /></td></tr> 135<tr class="separator:adb2ea2734ac13ca77b3218d761fe45e0"><td class="memSeparator" colspan="2"> </td></tr> 136<tr class="memitem:a3bcc5aef9bd7abd545d33660aa3ccbd0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a3bcc5aef9bd7abd545d33660aa3ccbd0">fqAeqNormqA</a> (<a class="el" href="a03979.html">Quaternion</a> *pqA)</td></tr> 137<tr class="memdesc:a3bcc5aef9bd7abd545d33660aa3ccbd0"><td class="mdescLeft"> </td><td class="mdescRight">function normalizes a rotation quaternion and ensures q0 is non-negative <a href="#a3bcc5aef9bd7abd545d33660aa3ccbd0">More...</a><br /></td></tr> 138<tr class="separator:a3bcc5aef9bd7abd545d33660aa3ccbd0"><td class="memSeparator" colspan="2"> </td></tr> 139<tr class="memitem:a624e56625ef65d6af54643c866a6c64c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a624e56625ef65d6af54643c866a6c64c">fqAeq1</a> (<a class="el" href="a03979.html">Quaternion</a> *pqA)</td></tr> 140<tr class="memdesc:a624e56625ef65d6af54643c866a6c64c"><td class="mdescLeft"> </td><td class="mdescRight">set a quaternion to the unit quaternion <a href="#a624e56625ef65d6af54643c866a6c64c">More...</a><br /></td></tr> 141<tr class="separator:a624e56625ef65d6af54643c866a6c64c"><td class="memSeparator" colspan="2"> </td></tr> 142<tr class="memitem:a9f946d534fae22e9e68b9f0e2e2822ef"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a9f946d534fae22e9e68b9f0e2e2822ef">fQuaternionFromRotationVectorDeg</a> (<a class="el" href="a03979.html">Quaternion</a> *pq, const float rvecdeg[], float fscaling)</td></tr> 143<tr class="memdesc:a9f946d534fae22e9e68b9f0e2e2822ef"><td class="mdescLeft"> </td><td class="mdescRight">computes normalized rotation quaternion from a rotation vector (deg) <a href="#a9f946d534fae22e9e68b9f0e2e2822ef">More...</a><br /></td></tr> 144<tr class="separator:a9f946d534fae22e9e68b9f0e2e2822ef"><td class="memSeparator" colspan="2"> </td></tr> 145<tr class="memitem:aa48ae334cf6bbedf2b9e7423d17cb4ac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#aa48ae334cf6bbedf2b9e7423d17cb4ac">fRotationVectorDegFromQuaternion</a> (<a class="el" href="a03979.html">Quaternion</a> *pq, float rvecdeg[])</td></tr> 146<tr class="memdesc:aa48ae334cf6bbedf2b9e7423d17cb4ac"><td class="mdescLeft"> </td><td class="mdescRight">computes rotation vector (deg) from rotation quaternion <a href="#aa48ae334cf6bbedf2b9e7423d17cb4ac">More...</a><br /></td></tr> 147<tr class="separator:aa48ae334cf6bbedf2b9e7423d17cb4ac"><td class="memSeparator" colspan="2"> </td></tr> 148<tr class="memitem:ad60a32e44f24a4b8fa5bddfb23721bc8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#ad60a32e44f24a4b8fa5bddfb23721bc8">fLPFOrientationQuaternion</a> (<a class="el" href="a03979.html">Quaternion</a> *pq, <a class="el" href="a03979.html">Quaternion</a> *pLPq, float flpf, float fdeltat, float fOmega[])</td></tr> 149<tr class="memdesc:ad60a32e44f24a4b8fa5bddfb23721bc8"><td class="mdescLeft"> </td><td class="mdescRight">function low pass filters an orientation quaternion and computes virtual gyro rotation rate <a href="#ad60a32e44f24a4b8fa5bddfb23721bc8">More...</a><br /></td></tr> 150<tr class="separator:ad60a32e44f24a4b8fa5bddfb23721bc8"><td class="memSeparator" colspan="2"> </td></tr> 151<tr class="memitem:a4ced4d83316052e2c97ce2746abdc1e0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00899.html#a4ced4d83316052e2c97ce2746abdc1e0">fveqconjgquq</a> (<a class="el" href="a03979.html">Quaternion</a> *pfq, float fu[], float fv[])</td></tr> 152<tr class="separator:a4ced4d83316052e2c97ce2746abdc1e0"><td class="memSeparator" colspan="2"> </td></tr> 153</table> 154<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 155<div class="textblock"><p>Functions to convert between various orientation representations. </p> 156<p>Functions to convert between various orientation representations. Also includes functions for manipulating quaternions. </p> 157 158<p class="definition">Definition in file <a class="el" href="a00899_source.html">orientation.h</a>.</p> 159</div><h2 class="groupheader">Typedef Documentation</h2> 160<a id="a5cd3d2a1a3d256bebeec4da81b7f4d94"></a> 161<h2 class="memtitle"><span class="permalink"><a href="#a5cd3d2a1a3d256bebeec4da81b7f4d94">◆ </a></span>Quaternion</h2> 162 163<div class="memitem"> 164<div class="memproto"> 165 <table class="memname"> 166 <tr> 167 <td class="memname">typedef struct <a class="el" href="a03979.html">Quaternion</a> <a class="el" href="a03979.html">Quaternion</a></td> 168 </tr> 169 </table> 170</div><div class="memdoc"> 171 172<p>quaternion structure definition </p> 173 174</div> 175</div> 176<h2 class="groupheader">Function Documentation</h2> 177<a id="a765e472022e2ba9717989e6527df49a8"></a> 178<h2 class="memtitle"><span class="permalink"><a href="#a765e472022e2ba9717989e6527df49a8">◆ </a></span>f3DOFMagnetometerMatrixAndroid()</h2> 179 180<div class="memitem"> 181<div class="memproto"> 182 <table class="memname"> 183 <tr> 184 <td class="memname">void f3DOFMagnetometerMatrixAndroid </td> 185 <td>(</td> 186 <td class="paramtype">float </td> 187 <td class="paramname"><em>fR</em>[][3], </td> 188 </tr> 189 <tr> 190 <td class="paramkey"></td> 191 <td></td> 192 <td class="paramtype">float </td> 193 <td class="paramname"><em>fBc</em>[] </td> 194 </tr> 195 <tr> 196 <td></td> 197 <td>)</td> 198 <td></td><td></td> 199 </tr> 200 </table> 201</div><div class="memdoc"> 202 203<p>Android magnetometer 3DOF flat eCompass function, computing rotation matrix fR. </p> 204<dl class="params"><dt>Parameters</dt><dd> 205 <table class="params"> 206 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 207 <tr><td class="paramname">fBc</td><td>calibrated magnetometer reading (input) </td></tr> 208 </table> 209 </dd> 210</dl> 211 212<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00229">229</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 213 214<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>, and <a class="el" href="a00887_source.html#l00027">f3x3matrixAeqI()</a>.</p> 215 216<p class="reference">Referenced by <a class="el" href="a00896_source.html#l00259">f3DOFMagnetometerMatrixWin8()</a>, <a class="el" href="a00845_source.html#l00207">fInit_3DOF_B_BASIC()</a>, and <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>.</p> 217<div class="dynheader"> 218Here is the call graph for this function:</div> 219<div class="dyncontent"> 220<div class="center"><img src="a00899_a765e472022e2ba9717989e6527df49a8_cgraph.png" border="0" usemap="#a00899_a765e472022e2ba9717989e6527df49a8_cgraph" alt=""/></div> 221<map name="a00899_a765e472022e2ba9717989e6527df49a8_cgraph" id="a00899_a765e472022e2ba9717989e6527df49a8_cgraph"> 222<area shape="rect" id="node2" href="a00887.html#a54f510d9d257d6063412a9ed5adddd6f" title="function sets the 3x3 matrix A to the identity matrix " alt="" coords="276,5,384,32"/> 223</map> 224</div> 225<div class="dynheader"> 226Here is the caller graph for this function:</div> 227<div class="dyncontent"> 228<div class="center"><img src="a00899_a765e472022e2ba9717989e6527df49a8_icgraph.png" border="0" usemap="#a00899_a765e472022e2ba9717989e6527df49a8_icgraph" alt=""/></div> 229<map name="a00899_a765e472022e2ba9717989e6527df49a8_icgraph" id="a00899_a765e472022e2ba9717989e6527df49a8_icgraph"> 230<area shape="rect" id="node2" href="a00899.html#a79e9bfb4c86c1cd82b83058afd08df10" title="Windows 8 magnetometer 3DOF flat eCompass function, computing rotation matrix fR. ..." alt="" coords="276,56,484,83"/> 231<area shape="rect" id="node3" href="a00848.html#adc49d74394c2a94a33ff65edea18233b" title="fInit_3DOF_B_BASIC" alt="" coords="532,5,677,32"/> 232<area shape="rect" id="node4" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="725,56,876,83"/> 233</map> 234</div> 235 236</div> 237</div> 238<a id="a3aea6b9a9647d15db0dad4be820fbba9"></a> 239<h2 class="memtitle"><span class="permalink"><a href="#a3aea6b9a9647d15db0dad4be820fbba9">◆ </a></span>f3DOFMagnetometerMatrixNED()</h2> 240 241<div class="memitem"> 242<div class="memproto"> 243 <table class="memname"> 244 <tr> 245 <td class="memname">void f3DOFMagnetometerMatrixNED </td> 246 <td>(</td> 247 <td class="paramtype">float </td> 248 <td class="paramname"><em>fR</em>[][3], </td> 249 </tr> 250 <tr> 251 <td class="paramkey"></td> 252 <td></td> 253 <td class="paramtype">float </td> 254 <td class="paramname"><em>fBc</em>[] </td> 255 </tr> 256 <tr> 257 <td></td> 258 <td>)</td> 259 <td></td><td></td> 260 </tr> 261 </table> 262</div><div class="memdoc"> 263 264<p>Aerospace NED magnetometer 3DOF flat eCompass function, computing rotation matrix fR. </p> 265<dl class="params"><dt>Parameters</dt><dd> 266 <table class="params"> 267 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 268 <tr><td class="paramname">fBc</td><td>calibrated magnetometer reading (input) </td></tr> 269 </table> 270 </dd> 271</dl> 272 273<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00199">199</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 274 275<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>, and <a class="el" href="a00887_source.html#l00027">f3x3matrixAeqI()</a>.</p> 276 277<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00207">fInit_3DOF_B_BASIC()</a>, and <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>.</p> 278<div class="dynheader"> 279Here is the call graph for this function:</div> 280<div class="dyncontent"> 281<div class="center"><img src="a00899_a3aea6b9a9647d15db0dad4be820fbba9_cgraph.png" border="0" usemap="#a00899_a3aea6b9a9647d15db0dad4be820fbba9_cgraph" alt=""/></div> 282<map name="a00899_a3aea6b9a9647d15db0dad4be820fbba9_cgraph" id="a00899_a3aea6b9a9647d15db0dad4be820fbba9_cgraph"> 283<area shape="rect" id="node2" href="a00887.html#a54f510d9d257d6063412a9ed5adddd6f" title="function sets the 3x3 matrix A to the identity matrix " alt="" coords="259,5,367,32"/> 284</map> 285</div> 286<div class="dynheader"> 287Here is the caller graph for this function:</div> 288<div class="dyncontent"> 289<div class="center"><img src="a00899_a3aea6b9a9647d15db0dad4be820fbba9_icgraph.png" border="0" usemap="#a00899_a3aea6b9a9647d15db0dad4be820fbba9_icgraph" alt=""/></div> 290<map name="a00899_a3aea6b9a9647d15db0dad4be820fbba9_icgraph" id="a00899_a3aea6b9a9647d15db0dad4be820fbba9_icgraph"> 291<area shape="rect" id="node2" href="a00848.html#adc49d74394c2a94a33ff65edea18233b" title="fInit_3DOF_B_BASIC" alt="" coords="259,5,404,32"/> 292<area shape="rect" id="node3" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="452,31,603,57"/> 293</map> 294</div> 295 296</div> 297</div> 298<a id="a79e9bfb4c86c1cd82b83058afd08df10"></a> 299<h2 class="memtitle"><span class="permalink"><a href="#a79e9bfb4c86c1cd82b83058afd08df10">◆ </a></span>f3DOFMagnetometerMatrixWin8()</h2> 300 301<div class="memitem"> 302<div class="memproto"> 303 <table class="memname"> 304 <tr> 305 <td class="memname">void f3DOFMagnetometerMatrixWin8 </td> 306 <td>(</td> 307 <td class="paramtype">float </td> 308 <td class="paramname"><em>fR</em>[][3], </td> 309 </tr> 310 <tr> 311 <td class="paramkey"></td> 312 <td></td> 313 <td class="paramtype">float </td> 314 <td class="paramname"><em>fBc</em>[] </td> 315 </tr> 316 <tr> 317 <td></td> 318 <td>)</td> 319 <td></td><td></td> 320 </tr> 321 </table> 322</div><div class="memdoc"> 323 324<p>Windows 8 magnetometer 3DOF flat eCompass function, computing rotation matrix fR. </p> 325<dl class="params"><dt>Parameters</dt><dd> 326 <table class="params"> 327 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 328 <tr><td class="paramname">fBc</td><td>calibrated magnetometer reading (input) </td></tr> 329 </table> 330 </dd> 331</dl> 332 333<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00259">259</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 334 335<p class="reference">References <a class="el" href="a00896_source.html#l00229">f3DOFMagnetometerMatrixAndroid()</a>.</p> 336 337<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00207">fInit_3DOF_B_BASIC()</a>, and <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>.</p> 338<div class="dynheader"> 339Here is the call graph for this function:</div> 340<div class="dyncontent"> 341<div class="center"><img src="a00899_a79e9bfb4c86c1cd82b83058afd08df10_cgraph.png" border="0" usemap="#a00899_a79e9bfb4c86c1cd82b83058afd08df10_cgraph" alt=""/></div> 342<map name="a00899_a79e9bfb4c86c1cd82b83058afd08df10_cgraph" id="a00899_a79e9bfb4c86c1cd82b83058afd08df10_cgraph"> 343<area shape="rect" id="node2" href="a00896.html#a765e472022e2ba9717989e6527df49a8" title="Android magnetometer 3DOF flat eCompass function, computing rotation matrix fR. " alt="" coords="261,5,484,32"/> 344</map> 345</div> 346<div class="dynheader"> 347Here is the caller graph for this function:</div> 348<div class="dyncontent"> 349<div class="center"><img src="a00899_a79e9bfb4c86c1cd82b83058afd08df10_icgraph.png" border="0" usemap="#a00899_a79e9bfb4c86c1cd82b83058afd08df10_icgraph" alt=""/></div> 350<map name="a00899_a79e9bfb4c86c1cd82b83058afd08df10_icgraph" id="a00899_a79e9bfb4c86c1cd82b83058afd08df10_icgraph"> 351<area shape="rect" id="node2" href="a00848.html#adc49d74394c2a94a33ff65edea18233b" title="fInit_3DOF_B_BASIC" alt="" coords="261,5,407,32"/> 352<area shape="rect" id="node3" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="455,31,605,57"/> 353</map> 354</div> 355 356</div> 357</div> 358<a id="a480280c72c7243e5c192cab628e0a38d"></a> 359<h2 class="memtitle"><span class="permalink"><a href="#a480280c72c7243e5c192cab628e0a38d">◆ </a></span>f3DOFTiltAndroid()</h2> 360 361<div class="memitem"> 362<div class="memproto"> 363 <table class="memname"> 364 <tr> 365 <td class="memname">void f3DOFTiltAndroid </td> 366 <td>(</td> 367 <td class="paramtype">float </td> 368 <td class="paramname"><em>fR</em>[][3], </td> 369 </tr> 370 <tr> 371 <td class="paramkey"></td> 372 <td></td> 373 <td class="paramtype">float </td> 374 <td class="paramname"><em>fGc</em>[] </td> 375 </tr> 376 <tr> 377 <td></td> 378 <td>)</td> 379 <td></td><td></td> 380 </tr> 381 </table> 382</div><div class="memdoc"> 383 384<p>Android accelerometer 3DOF tilt function computing, rotation matrix fR. </p> 385<dl class="params"><dt>Parameters</dt><dd> 386 <table class="params"> 387 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 388 <tr><td class="paramname">fGc</td><td>calibrated accelerometer input vector </td></tr> 389 </table> 390 </dd> 391</dl> 392 393<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00179">fInit_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00282">fInit_6DOF_GY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, and <a class="el" href="a00905_source.html#l00157">fRunAccelCalibration()</a>.</p> 394<div class="dynheader"> 395Here is the caller graph for this function:</div> 396<div class="dyncontent"> 397<div class="center"><img src="a00899_a480280c72c7243e5c192cab628e0a38d_icgraph.png" border="0" usemap="#a00899_a480280c72c7243e5c192cab628e0a38d_icgraph" alt=""/></div> 398<map name="a00899_a480280c72c7243e5c192cab628e0a38d_icgraph" id="a00899_a480280c72c7243e5c192cab628e0a38d_icgraph"> 399<area shape="rect" id="node2" href="a00848.html#a41f2c6419c8e0c019e08618283338d21" title="fInit_3DOF_G_BASIC" alt="" coords="185,5,332,32"/> 400<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="392,31,544,57"/> 401<area shape="rect" id="node4" href="a00848.html#adb837744c0801f50a0890f1385ca5c75" title="fInit_6DOF_GY_KALMAN" alt="" coords="173,107,344,133"/> 402<area shape="rect" id="node5" href="a00908.html#a2670a39e8be35e9bad5a75d0ec8ca821" title="function runs the precision accelerometer calibration " alt="" coords="187,157,330,184"/> 403</map> 404</div> 405 406</div> 407</div> 408<a id="addec350696b9ab89918808b56292bd9a"></a> 409<h2 class="memtitle"><span class="permalink"><a href="#addec350696b9ab89918808b56292bd9a">◆ </a></span>f3DOFTiltNED()</h2> 410 411<div class="memitem"> 412<div class="memproto"> 413 <table class="memname"> 414 <tr> 415 <td class="memname">void f3DOFTiltNED </td> 416 <td>(</td> 417 <td class="paramtype">float </td> 418 <td class="paramname"><em>fR</em>[][3], </td> 419 </tr> 420 <tr> 421 <td class="paramkey"></td> 422 <td></td> 423 <td class="paramtype">float </td> 424 <td class="paramname"><em>fGc</em>[] </td> 425 </tr> 426 <tr> 427 <td></td> 428 <td>)</td> 429 <td></td><td></td> 430 </tr> 431 </table> 432</div><div class="memdoc"> 433 434<p>Aerospace NED accelerometer 3DOF tilt function, computing rotation matrix fR. </p> 435<dl class="params"><dt>Parameters</dt><dd> 436 <table class="params"> 437 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 438 <tr><td class="paramname">fGc</td><td>calibrated accelerometer input vector </td></tr> 439 </table> 440 </dd> 441</dl> 442 443<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00179">fInit_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00282">fInit_6DOF_GY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, and <a class="el" href="a00905_source.html#l00157">fRunAccelCalibration()</a>.</p> 444<div class="dynheader"> 445Here is the caller graph for this function:</div> 446<div class="dyncontent"> 447<div class="center"><img src="a00899_addec350696b9ab89918808b56292bd9a_icgraph.png" border="0" usemap="#a00899_addec350696b9ab89918808b56292bd9a_icgraph" alt=""/></div> 448<map name="a00899_addec350696b9ab89918808b56292bd9a_icgraph" id="a00899_addec350696b9ab89918808b56292bd9a_icgraph"> 449<area shape="rect" id="node2" href="a00848.html#a41f2c6419c8e0c019e08618283338d21" title="fInit_3DOF_G_BASIC" alt="" coords="168,5,315,32"/> 450<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="375,31,527,57"/> 451<area shape="rect" id="node4" href="a00848.html#adb837744c0801f50a0890f1385ca5c75" title="fInit_6DOF_GY_KALMAN" alt="" coords="156,107,327,133"/> 452<area shape="rect" id="node5" href="a00908.html#a2670a39e8be35e9bad5a75d0ec8ca821" title="function runs the precision accelerometer calibration " alt="" coords="170,157,313,184"/> 453</map> 454</div> 455 456</div> 457</div> 458<a id="a292e27a8f966749f38e5e7936b05e29b"></a> 459<h2 class="memtitle"><span class="permalink"><a href="#a292e27a8f966749f38e5e7936b05e29b">◆ </a></span>f3DOFTiltWin8()</h2> 460 461<div class="memitem"> 462<div class="memproto"> 463 <table class="memname"> 464 <tr> 465 <td class="memname">void f3DOFTiltWin8 </td> 466 <td>(</td> 467 <td class="paramtype">float </td> 468 <td class="paramname"><em>fR</em>[][3], </td> 469 </tr> 470 <tr> 471 <td class="paramkey"></td> 472 <td></td> 473 <td class="paramtype">float </td> 474 <td class="paramname"><em>fGc</em>[] </td> 475 </tr> 476 <tr> 477 <td></td> 478 <td>)</td> 479 <td></td><td></td> 480 </tr> 481 </table> 482</div><div class="memdoc"> 483 484<p>Windows 8 accelerometer 3DOF tilt function computing, rotation matrix fR. </p> 485<dl class="params"><dt>Parameters</dt><dd> 486 <table class="params"> 487 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 488 <tr><td class="paramname">fGc</td><td>calibrated accelerometer input vector </td></tr> 489 </table> 490 </dd> 491</dl> 492 493<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00179">fInit_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00282">fInit_6DOF_GY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, and <a class="el" href="a00905_source.html#l00157">fRunAccelCalibration()</a>.</p> 494<div class="dynheader"> 495Here is the caller graph for this function:</div> 496<div class="dyncontent"> 497<div class="center"><img src="a00899_a292e27a8f966749f38e5e7936b05e29b_icgraph.png" border="0" usemap="#a00899_a292e27a8f966749f38e5e7936b05e29b_icgraph" alt=""/></div> 498<map name="a00899_a292e27a8f966749f38e5e7936b05e29b_icgraph" id="a00899_a292e27a8f966749f38e5e7936b05e29b_icgraph"> 499<area shape="rect" id="node2" href="a00848.html#a41f2c6419c8e0c019e08618283338d21" title="fInit_3DOF_G_BASIC" alt="" coords="172,5,319,32"/> 500<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="379,31,531,57"/> 501<area shape="rect" id="node4" href="a00848.html#adb837744c0801f50a0890f1385ca5c75" title="fInit_6DOF_GY_KALMAN" alt="" coords="160,107,331,133"/> 502<area shape="rect" id="node5" href="a00908.html#a2670a39e8be35e9bad5a75d0ec8ca821" title="function runs the precision accelerometer calibration " alt="" coords="174,157,317,184"/> 503</map> 504</div> 505 506</div> 507</div> 508<a id="a77eeda9a699b1456bb8b02665ad80522"></a> 509<h2 class="memtitle"><span class="permalink"><a href="#a77eeda9a699b1456bb8b02665ad80522">◆ </a></span>fAndroidAnglesDegFromRotationMatrix()</h2> 510 511<div class="memitem"> 512<div class="memproto"> 513 <table class="memname"> 514 <tr> 515 <td class="memname">void fAndroidAnglesDegFromRotationMatrix </td> 516 <td>(</td> 517 <td class="paramtype">float </td> 518 <td class="paramname"><em>R</em>[][3], </td> 519 </tr> 520 <tr> 521 <td class="paramkey"></td> 522 <td></td> 523 <td class="paramtype">float * </td> 524 <td class="paramname"><em>pfPhiDeg</em>, </td> 525 </tr> 526 <tr> 527 <td class="paramkey"></td> 528 <td></td> 529 <td class="paramtype">float * </td> 530 <td class="paramname"><em>pfTheDeg</em>, </td> 531 </tr> 532 <tr> 533 <td class="paramkey"></td> 534 <td></td> 535 <td class="paramtype">float * </td> 536 <td class="paramname"><em>pfPsiDeg</em>, </td> 537 </tr> 538 <tr> 539 <td class="paramkey"></td> 540 <td></td> 541 <td class="paramtype">float * </td> 542 <td class="paramname"><em>pfRhoDeg</em>, </td> 543 </tr> 544 <tr> 545 <td class="paramkey"></td> 546 <td></td> 547 <td class="paramtype">float * </td> 548 <td class="paramname"><em>pfChiDeg</em> </td> 549 </tr> 550 <tr> 551 <td></td> 552 <td>)</td> 553 <td></td><td></td> 554 </tr> 555 </table> 556</div><div class="memdoc"> 557 558<p>extract the Android angles in degrees from the Android rotation matrix </p> 559<dl class="params"><dt>Parameters</dt><dd> 560 <table class="params"> 561 <tr><td class="paramname">R</td><td>rotation matrix input </td></tr> 562 <tr><td class="paramname">pfPhiDeg</td><td>the roll angle -90.0 <= Phi <= 90.0 deg </td></tr> 563 <tr><td class="paramname">pfTheDeg</td><td>the pitch angle -180.0 <= The < 180.0 deg </td></tr> 564 <tr><td class="paramname">pfPsiDeg</td><td>yaw angle Psi with range 0.0 <= Psi < 360.0 deg </td></tr> 565 <tr><td class="paramname">pfRhoDeg</td><td>the compass heading angle Rho equals the yaw angle Psi </td></tr> 566 <tr><td class="paramname">pfChiDeg</td><td>the tilt angle from vertical Chi (0 <= Chi <= 180 deg) </td></tr> 567 </table> 568 </dd> 569</dl> 570 571<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00548">548</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 572 573<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="a00761_source.html#l00043">facos_deg()</a>, <a class="el" href="a00761_source.html#l00028">fasin_deg()</a>, and <a class="el" href="a00761_source.html#l00109">fatan2_deg()</a>.</p> 574 575<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 576<div class="dynheader"> 577Here is the call graph for this function:</div> 578<div class="dyncontent"> 579<div class="center"><img src="a00899_a77eeda9a699b1456bb8b02665ad80522_cgraph.png" border="0" usemap="#a00899_a77eeda9a699b1456bb8b02665ad80522_cgraph" alt=""/></div> 580<map name="a00899_a77eeda9a699b1456bb8b02665ad80522_cgraph" id="a00899_a77eeda9a699b1456bb8b02665ad80522_cgraph"> 581<area shape="rect" id="node2" href="a00761.html#a084fe0ff189767dca40fbe330d7394f0" title="facos_deg" alt="" coords="266,5,347,32"/> 582<area shape="rect" id="node3" href="a00761.html#a956336cb9e7270c6cfbf667b1075c063" title="fasin_deg" alt="" coords="268,56,345,83"/> 583<area shape="rect" id="node4" href="a00761.html#aebfdfbd2df0fe4472f9861b0738bb410" title="fatan2_deg" alt="" coords="264,107,349,133"/> 584</map> 585</div> 586<div class="dynheader"> 587Here is the caller graph for this function:</div> 588<div class="dyncontent"> 589<div class="center"><img src="a00899_a77eeda9a699b1456bb8b02665ad80522_icgraph.png" border="0" usemap="#a00899_a77eeda9a699b1456bb8b02665ad80522_icgraph" alt=""/></div> 590<map name="a00899_a77eeda9a699b1456bb8b02665ad80522_icgraph" id="a00899_a77eeda9a699b1456bb8b02665ad80522_icgraph"> 591<area shape="rect" id="node2" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="277,5,427,32"/> 592<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="276,56,428,83"/> 593<area shape="rect" id="node4" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="277,107,427,133"/> 594<area shape="rect" id="node5" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="271,157,433,184"/> 595<area shape="rect" id="node6" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="264,208,440,235"/> 596</map> 597</div> 598 599</div> 600</div> 601<a id="a43ad72cf13f54b0f96355bb7005b6872"></a> 602<h2 class="memtitle"><span class="permalink"><a href="#a43ad72cf13f54b0f96355bb7005b6872">◆ </a></span>feCompassAndroid()</h2> 603 604<div class="memitem"> 605<div class="memproto"> 606 <table class="memname"> 607 <tr> 608 <td class="memname">void feCompassAndroid </td> 609 <td>(</td> 610 <td class="paramtype">float </td> 611 <td class="paramname"><em>fR</em>[][3], </td> 612 </tr> 613 <tr> 614 <td class="paramkey"></td> 615 <td></td> 616 <td class="paramtype">float * </td> 617 <td class="paramname"><em>pfDelta</em>, </td> 618 </tr> 619 <tr> 620 <td class="paramkey"></td> 621 <td></td> 622 <td class="paramtype">float * </td> 623 <td class="paramname"><em>pfsinDelta</em>, </td> 624 </tr> 625 <tr> 626 <td class="paramkey"></td> 627 <td></td> 628 <td class="paramtype">float * </td> 629 <td class="paramname"><em>pfcosDelta</em>, </td> 630 </tr> 631 <tr> 632 <td class="paramkey"></td> 633 <td></td> 634 <td class="paramtype">float </td> 635 <td class="paramname"><em>fBc</em>[], </td> 636 </tr> 637 <tr> 638 <td class="paramkey"></td> 639 <td></td> 640 <td class="paramtype">float </td> 641 <td class="paramname"><em>fGc</em>[], </td> 642 </tr> 643 <tr> 644 <td class="paramkey"></td> 645 <td></td> 646 <td class="paramtype">float * </td> 647 <td class="paramname"><em>pfmodBc</em>, </td> 648 </tr> 649 <tr> 650 <td class="paramkey"></td> 651 <td></td> 652 <td class="paramtype">float * </td> 653 <td class="paramname"><em>pfmodGc</em> </td> 654 </tr> 655 <tr> 656 <td></td> 657 <td>)</td> 658 <td></td><td></td> 659 </tr> 660 </table> 661</div><div class="memdoc"> 662 663<p>Android: basic 6DOF e-Compass function, computing rotation matrix fR and magnetic inclination angle fDelta. </p> 664<dl class="params"><dt>Parameters</dt><dd> 665 <table class="params"> 666 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 667 <tr><td class="paramname">pfDelta</td><td>magnetic inclination angle (output) </td></tr> 668 <tr><td class="paramname">pfsinDelta</td><td>sin of the inclination angle </td></tr> 669 <tr><td class="paramname">pfcosDelta</td><td>cos of the inclination angle </td></tr> 670 <tr><td class="paramname">fBc</td><td>calibrated magnetometer reading (input) </td></tr> 671 <tr><td class="paramname">fGc</td><td>calibrated accelerometer input vector (input) </td></tr> 672 <tr><td class="paramname">pfmodBc</td><td>modulus of the calibrated magnetic vector </td></tr> 673 <tr><td class="paramname">pfmodGc</td><td>modulus of the calibrated accelerometer vector </td></tr> 674 </table> 675 </dd> 676</dl> 677 678<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00343">343</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 679 680<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="a00887_source.html#l00027">f3x3matrixAeqI()</a>, and <a class="el" href="a00761_source.html#l00028">fasin_deg()</a>.</p> 681 682<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00250">fInit_6DOF_GB_BASIC()</a>, <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 683<div class="dynheader"> 684Here is the call graph for this function:</div> 685<div class="dyncontent"> 686<div class="center"><img src="a00899_a43ad72cf13f54b0f96355bb7005b6872_cgraph.png" border="0" usemap="#a00899_a43ad72cf13f54b0f96355bb7005b6872_cgraph" alt=""/></div> 687<map name="a00899_a43ad72cf13f54b0f96355bb7005b6872_cgraph" id="a00899_a43ad72cf13f54b0f96355bb7005b6872_cgraph"> 688<area shape="rect" id="node2" href="a00887.html#a54f510d9d257d6063412a9ed5adddd6f" title="function sets the 3x3 matrix A to the identity matrix " alt="" coords="184,5,292,32"/> 689<area shape="rect" id="node3" href="a00761.html#a956336cb9e7270c6cfbf667b1075c063" title="fasin_deg" alt="" coords="199,56,277,83"/> 690</map> 691</div> 692<div class="dynheader"> 693Here is the caller graph for this function:</div> 694<div class="dyncontent"> 695<div class="center"><img src="a00899_a43ad72cf13f54b0f96355bb7005b6872_icgraph.png" border="0" usemap="#a00899_a43ad72cf13f54b0f96355bb7005b6872_icgraph" alt=""/></div> 696<map name="a00899_a43ad72cf13f54b0f96355bb7005b6872_icgraph" id="a00899_a43ad72cf13f54b0f96355bb7005b6872_icgraph"> 697<area shape="rect" id="node2" href="a00848.html#ab5f459ab0c8c9b4123e2fb33f5061332" title="fInit_6DOF_GB_BASIC" alt="" coords="196,5,351,32"/> 698<area shape="rect" id="node3" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="418,44,579,71"/> 699<area shape="rect" id="node4" href="a00848.html#a5627f82d4cbb9af1102d10ad1bea3699" title="fInit_9DOF_GBY_KALMAN" alt="" coords="184,107,363,133"/> 700<area shape="rect" id="node5" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="411,120,587,147"/> 701</map> 702</div> 703 704</div> 705</div> 706<a id="afcde979fba0bcae15591096fe68648c9"></a> 707<h2 class="memtitle"><span class="permalink"><a href="#afcde979fba0bcae15591096fe68648c9">◆ </a></span>feCompassNED()</h2> 708 709<div class="memitem"> 710<div class="memproto"> 711 <table class="memname"> 712 <tr> 713 <td class="memname">void feCompassNED </td> 714 <td>(</td> 715 <td class="paramtype">float </td> 716 <td class="paramname"><em>fR</em>[][3], </td> 717 </tr> 718 <tr> 719 <td class="paramkey"></td> 720 <td></td> 721 <td class="paramtype">float * </td> 722 <td class="paramname"><em>pfDelta</em>, </td> 723 </tr> 724 <tr> 725 <td class="paramkey"></td> 726 <td></td> 727 <td class="paramtype">float * </td> 728 <td class="paramname"><em>pfsinDelta</em>, </td> 729 </tr> 730 <tr> 731 <td class="paramkey"></td> 732 <td></td> 733 <td class="paramtype">float * </td> 734 <td class="paramname"><em>pfcosDelta</em>, </td> 735 </tr> 736 <tr> 737 <td class="paramkey"></td> 738 <td></td> 739 <td class="paramtype">float </td> 740 <td class="paramname"><em>fBc</em>[], </td> 741 </tr> 742 <tr> 743 <td class="paramkey"></td> 744 <td></td> 745 <td class="paramtype">float </td> 746 <td class="paramname"><em>fGc</em>[], </td> 747 </tr> 748 <tr> 749 <td class="paramkey"></td> 750 <td></td> 751 <td class="paramtype">float * </td> 752 <td class="paramname"><em>pfmodBc</em>, </td> 753 </tr> 754 <tr> 755 <td class="paramkey"></td> 756 <td></td> 757 <td class="paramtype">float * </td> 758 <td class="paramname"><em>pfmodGc</em> </td> 759 </tr> 760 <tr> 761 <td></td> 762 <td>)</td> 763 <td></td><td></td> 764 </tr> 765 </table> 766</div><div class="memdoc"> 767 768<p>NED: basic 6DOF e-Compass function, computing rotation matrix fR and magnetic inclination angle fDelta. </p> 769<dl class="params"><dt>Parameters</dt><dd> 770 <table class="params"> 771 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 772 <tr><td class="paramname">pfDelta</td><td>magnetic inclination angle (output) </td></tr> 773 <tr><td class="paramname">pfsinDelta</td><td>sin of the inclination angle </td></tr> 774 <tr><td class="paramname">pfcosDelta</td><td>cos of the inclination angle </td></tr> 775 <tr><td class="paramname">fBc</td><td>calibrated magnetometer vector (input) </td></tr> 776 <tr><td class="paramname">fGc</td><td>calibrated accelerometer input vector (input) </td></tr> 777 <tr><td class="paramname">pfmodBc</td><td>modulus of the calibrated magnetic vector </td></tr> 778 <tr><td class="paramname">pfmodGc</td><td>modulus of the calibrated accelerometer vector </td></tr> 779 </table> 780 </dd> 781</dl> 782 783<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00270">270</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 784 785<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="a00887_source.html#l00027">f3x3matrixAeqI()</a>, and <a class="el" href="a00761_source.html#l00028">fasin_deg()</a>.</p> 786 787<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00250">fInit_6DOF_GB_BASIC()</a>, <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 788<div class="dynheader"> 789Here is the call graph for this function:</div> 790<div class="dyncontent"> 791<div class="center"><img src="a00899_afcde979fba0bcae15591096fe68648c9_cgraph.png" border="0" usemap="#a00899_afcde979fba0bcae15591096fe68648c9_cgraph" alt=""/></div> 792<map name="a00899_afcde979fba0bcae15591096fe68648c9_cgraph" id="a00899_afcde979fba0bcae15591096fe68648c9_cgraph"> 793<area shape="rect" id="node2" href="a00887.html#a54f510d9d257d6063412a9ed5adddd6f" title="function sets the 3x3 matrix A to the identity matrix " alt="" coords="168,5,276,32"/> 794<area shape="rect" id="node3" href="a00761.html#a956336cb9e7270c6cfbf667b1075c063" title="fasin_deg" alt="" coords="183,56,261,83"/> 795</map> 796</div> 797<div class="dynheader"> 798Here is the caller graph for this function:</div> 799<div class="dyncontent"> 800<div class="center"><img src="a00899_afcde979fba0bcae15591096fe68648c9_icgraph.png" border="0" usemap="#a00899_afcde979fba0bcae15591096fe68648c9_icgraph" alt=""/></div> 801<map name="a00899_afcde979fba0bcae15591096fe68648c9_icgraph" id="a00899_afcde979fba0bcae15591096fe68648c9_icgraph"> 802<area shape="rect" id="node2" href="a00848.html#ab5f459ab0c8c9b4123e2fb33f5061332" title="fInit_6DOF_GB_BASIC" alt="" coords="180,5,335,32"/> 803<area shape="rect" id="node3" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="402,44,563,71"/> 804<area shape="rect" id="node4" href="a00848.html#a5627f82d4cbb9af1102d10ad1bea3699" title="fInit_9DOF_GBY_KALMAN" alt="" coords="168,107,347,133"/> 805<area shape="rect" id="node5" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="395,120,571,147"/> 806</map> 807</div> 808 809</div> 810</div> 811<a id="aabc044b27a0cdd7db677c3203b77de90"></a> 812<h2 class="memtitle"><span class="permalink"><a href="#aabc044b27a0cdd7db677c3203b77de90">◆ </a></span>feCompassWin8()</h2> 813 814<div class="memitem"> 815<div class="memproto"> 816 <table class="memname"> 817 <tr> 818 <td class="memname">void feCompassWin8 </td> 819 <td>(</td> 820 <td class="paramtype">float </td> 821 <td class="paramname"><em>fR</em>[][3], </td> 822 </tr> 823 <tr> 824 <td class="paramkey"></td> 825 <td></td> 826 <td class="paramtype">float * </td> 827 <td class="paramname"><em>pfDelta</em>, </td> 828 </tr> 829 <tr> 830 <td class="paramkey"></td> 831 <td></td> 832 <td class="paramtype">float * </td> 833 <td class="paramname"><em>pfsinDelta</em>, </td> 834 </tr> 835 <tr> 836 <td class="paramkey"></td> 837 <td></td> 838 <td class="paramtype">float * </td> 839 <td class="paramname"><em>pfcosDelta</em>, </td> 840 </tr> 841 <tr> 842 <td class="paramkey"></td> 843 <td></td> 844 <td class="paramtype">float </td> 845 <td class="paramname"><em>fBc</em>[], </td> 846 </tr> 847 <tr> 848 <td class="paramkey"></td> 849 <td></td> 850 <td class="paramtype">float </td> 851 <td class="paramname"><em>fGc</em>[], </td> 852 </tr> 853 <tr> 854 <td class="paramkey"></td> 855 <td></td> 856 <td class="paramtype">float * </td> 857 <td class="paramname"><em>pfmodBc</em>, </td> 858 </tr> 859 <tr> 860 <td class="paramkey"></td> 861 <td></td> 862 <td class="paramtype">float * </td> 863 <td class="paramname"><em>pfmodGc</em> </td> 864 </tr> 865 <tr> 866 <td></td> 867 <td>)</td> 868 <td></td><td></td> 869 </tr> 870 </table> 871</div><div class="memdoc"> 872 873<p>Win8: basic 6DOF e-Compass function, computing rotation matrix fR and magnetic inclination angle fDelta. </p> 874<dl class="params"><dt>Parameters</dt><dd> 875 <table class="params"> 876 <tr><td class="paramname">fR</td><td>computed rotation matrix (output) </td></tr> 877 <tr><td class="paramname">pfDelta</td><td>magnetic inclination angle (output) </td></tr> 878 <tr><td class="paramname">pfsinDelta</td><td>sin of the inclination angle </td></tr> 879 <tr><td class="paramname">pfcosDelta</td><td>cos of the inclination angle </td></tr> 880 <tr><td class="paramname">fBc</td><td>calibrated magnetometer reading (input) </td></tr> 881 <tr><td class="paramname">fGc</td><td>calibrated accelerometer input vector (input) </td></tr> 882 <tr><td class="paramname">pfmodBc</td><td>modulus of the calibrated magnetic vector </td></tr> 883 <tr><td class="paramname">pfmodGc</td><td>modulus of the calibrated accelerometer vector </td></tr> 884 </table> 885 </dd> 886</dl> 887 888<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00417">417</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 889 890<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="a00887_source.html#l00027">f3x3matrixAeqI()</a>, and <a class="el" href="a00761_source.html#l00028">fasin_deg()</a>.</p> 891 892<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00250">fInit_6DOF_GB_BASIC()</a>, <a class="el" href="a00845_source.html#l00346">fInit_9DOF_GBY_KALMAN()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 893<div class="dynheader"> 894Here is the call graph for this function:</div> 895<div class="dyncontent"> 896<div class="center"><img src="a00899_aabc044b27a0cdd7db677c3203b77de90_cgraph.png" border="0" usemap="#a00899_aabc044b27a0cdd7db677c3203b77de90_cgraph" alt=""/></div> 897<map name="a00899_aabc044b27a0cdd7db677c3203b77de90_cgraph" id="a00899_aabc044b27a0cdd7db677c3203b77de90_cgraph"> 898<area shape="rect" id="node2" href="a00887.html#a54f510d9d257d6063412a9ed5adddd6f" title="function sets the 3x3 matrix A to the identity matrix " alt="" coords="171,5,279,32"/> 899<area shape="rect" id="node3" href="a00761.html#a956336cb9e7270c6cfbf667b1075c063" title="fasin_deg" alt="" coords="186,56,263,83"/> 900</map> 901</div> 902<div class="dynheader"> 903Here is the caller graph for this function:</div> 904<div class="dyncontent"> 905<div class="center"><img src="a00899_aabc044b27a0cdd7db677c3203b77de90_icgraph.png" border="0" usemap="#a00899_aabc044b27a0cdd7db677c3203b77de90_icgraph" alt=""/></div> 906<map name="a00899_aabc044b27a0cdd7db677c3203b77de90_icgraph" id="a00899_aabc044b27a0cdd7db677c3203b77de90_icgraph"> 907<area shape="rect" id="node2" href="a00848.html#ab5f459ab0c8c9b4123e2fb33f5061332" title="fInit_6DOF_GB_BASIC" alt="" coords="183,5,337,32"/> 908<area shape="rect" id="node3" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="405,44,566,71"/> 909<area shape="rect" id="node4" href="a00848.html#a5627f82d4cbb9af1102d10ad1bea3699" title="fInit_9DOF_GBY_KALMAN" alt="" coords="171,107,349,133"/> 910<area shape="rect" id="node5" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="397,120,573,147"/> 911</map> 912</div> 913 914</div> 915</div> 916<a id="ad60a32e44f24a4b8fa5bddfb23721bc8"></a> 917<h2 class="memtitle"><span class="permalink"><a href="#ad60a32e44f24a4b8fa5bddfb23721bc8">◆ </a></span>fLPFOrientationQuaternion()</h2> 918 919<div class="memitem"> 920<div class="memproto"> 921 <table class="memname"> 922 <tr> 923 <td class="memname">void fLPFOrientationQuaternion </td> 924 <td>(</td> 925 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 926 <td class="paramname"><em>pq</em>, </td> 927 </tr> 928 <tr> 929 <td class="paramkey"></td> 930 <td></td> 931 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 932 <td class="paramname"><em>pLPq</em>, </td> 933 </tr> 934 <tr> 935 <td class="paramkey"></td> 936 <td></td> 937 <td class="paramtype">float </td> 938 <td class="paramname"><em>flpf</em>, </td> 939 </tr> 940 <tr> 941 <td class="paramkey"></td> 942 <td></td> 943 <td class="paramtype">float </td> 944 <td class="paramname"><em>fdeltat</em>, </td> 945 </tr> 946 <tr> 947 <td class="paramkey"></td> 948 <td></td> 949 <td class="paramtype">float </td> 950 <td class="paramname"><em>fOmega</em>[] </td> 951 </tr> 952 <tr> 953 <td></td> 954 <td>)</td> 955 <td></td><td></td> 956 </tr> 957 </table> 958</div><div class="memdoc"> 959 960<p>function low pass filters an orientation quaternion and computes virtual gyro rotation rate </p> 961 962<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00896">896</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 963 964<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="a00896_source.html#l00983">fqAeqNormqA()</a>, <a class="el" href="a00896_source.html#l00846">fRotationVectorDegFromQuaternion()</a>, <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>, <a class="el" href="a00896_source.html#l00953">qAeqAxB()</a>, and <a class="el" href="a00896_source.html#l00970">qconjgAxB()</a>.</p> 965 966<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, and <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>.</p> 967<div class="dynheader"> 968Here is the call graph for this function:</div> 969<div class="dyncontent"> 970<div class="center"><img src="a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_cgraph.png" border="0" usemap="#a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_cgraph" alt=""/></div> 971<map name="a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_cgraph" id="a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_cgraph"> 972<area shape="rect" id="node2" href="a00896.html#a3bcc5aef9bd7abd545d33660aa3ccbd0" title="function normalizes a rotation quaternion and ensures q0 is non-negative " alt="" coords="290,5,393,32"/> 973<area shape="rect" id="node3" href="a00896.html#aa48ae334cf6bbedf2b9e7423d17cb4ac" title="computes rotation vector (deg) from rotation quaternion " alt="" coords="228,56,455,83"/> 974<area shape="rect" id="node4" href="a00896.html#a22a32becfcb162db012f41ff4f3bc942" title="function compute the quaternion product qA = qA * qB " alt="" coords="303,107,380,133"/> 975<area shape="rect" id="node5" href="a00896.html#adb2ea2734ac13ca77b3218d761fe45e0" title="function compute the quaternion product conjg(qA) * qB " alt="" coords="299,157,384,184"/> 976</map> 977</div> 978<div class="dynheader"> 979Here is the caller graph for this function:</div> 980<div class="dyncontent"> 981<div class="center"><img src="a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_icgraph.png" border="0" usemap="#a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_icgraph" alt=""/></div> 982<map name="a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_icgraph" id="a00899_ad60a32e44f24a4b8fa5bddfb23721bc8_icgraph"> 983<area shape="rect" id="node2" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="233,5,384,32"/> 984<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="233,56,385,83"/> 985<area shape="rect" id="node4" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="228,107,389,133"/> 986</map> 987</div> 988 989</div> 990</div> 991<a id="aa781ea4b9430531df4697d3cb39f7454"></a> 992<h2 class="memtitle"><span class="permalink"><a href="#aa781ea4b9430531df4697d3cb39f7454">◆ </a></span>fNEDAnglesDegFromRotationMatrix()</h2> 993 994<div class="memitem"> 995<div class="memproto"> 996 <table class="memname"> 997 <tr> 998 <td class="memname">void fNEDAnglesDegFromRotationMatrix </td> 999 <td>(</td> 1000 <td class="paramtype">float </td> 1001 <td class="paramname"><em>R</em>[][3], </td> 1002 </tr> 1003 <tr> 1004 <td class="paramkey"></td> 1005 <td></td> 1006 <td class="paramtype">float * </td> 1007 <td class="paramname"><em>pfPhiDeg</em>, </td> 1008 </tr> 1009 <tr> 1010 <td class="paramkey"></td> 1011 <td></td> 1012 <td class="paramtype">float * </td> 1013 <td class="paramname"><em>pfTheDeg</em>, </td> 1014 </tr> 1015 <tr> 1016 <td class="paramkey"></td> 1017 <td></td> 1018 <td class="paramtype">float * </td> 1019 <td class="paramname"><em>pfPsiDeg</em>, </td> 1020 </tr> 1021 <tr> 1022 <td class="paramkey"></td> 1023 <td></td> 1024 <td class="paramtype">float * </td> 1025 <td class="paramname"><em>pfRhoDeg</em>, </td> 1026 </tr> 1027 <tr> 1028 <td class="paramkey"></td> 1029 <td></td> 1030 <td class="paramtype">float * </td> 1031 <td class="paramname"><em>pfChiDeg</em> </td> 1032 </tr> 1033 <tr> 1034 <td></td> 1035 <td>)</td> 1036 <td></td><td></td> 1037 </tr> 1038 </table> 1039</div><div class="memdoc"> 1040 1041<p>extract the NED angles in degrees from the NED rotation matrix </p> 1042<dl class="params"><dt>Parameters</dt><dd> 1043 <table class="params"> 1044 <tr><td class="paramname">R</td><td>rotation matrix input </td></tr> 1045 <tr><td class="paramname">pfPhiDeg</td><td>output: the roll angle range -180.0 <= Phi < 180.0 deg </td></tr> 1046 <tr><td class="paramname">pfTheDeg</td><td>output: the pitch angle -90.0 <= Theta <= 90.0 deg </td></tr> 1047 <tr><td class="paramname">pfPsiDeg</td><td>output: the yaw (compass) angle 0.0 <= Psi < 360.0 deg </td></tr> 1048 <tr><td class="paramname">pfRhoDeg</td><td>output: For NED, the compass heading Rho equals the yaw angle Psi </td></tr> 1049 <tr><td class="paramname">pfChiDeg</td><td>output: the tilt angle from vertical Chi (0 <= Chi <= 180 deg) </td></tr> 1050 </table> 1051 </dd> 1052</dl> 1053 1054<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00492">492</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1055 1056<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="a00761_source.html#l00043">facos_deg()</a>, <a class="el" href="a00761_source.html#l00028">fasin_deg()</a>, and <a class="el" href="a00761_source.html#l00109">fatan2_deg()</a>.</p> 1057 1058<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1059<div class="dynheader"> 1060Here is the call graph for this function:</div> 1061<div class="dyncontent"> 1062<div class="center"><img src="a00899_aa781ea4b9430531df4697d3cb39f7454_cgraph.png" border="0" usemap="#a00899_aa781ea4b9430531df4697d3cb39f7454_cgraph" alt=""/></div> 1063<map name="a00899_aa781ea4b9430531df4697d3cb39f7454_cgraph" id="a00899_aa781ea4b9430531df4697d3cb39f7454_cgraph"> 1064<area shape="rect" id="node2" href="a00761.html#a084fe0ff189767dca40fbe330d7394f0" title="facos_deg" alt="" coords="249,5,330,32"/> 1065<area shape="rect" id="node3" href="a00761.html#a956336cb9e7270c6cfbf667b1075c063" title="fasin_deg" alt="" coords="251,56,328,83"/> 1066<area shape="rect" id="node4" href="a00761.html#aebfdfbd2df0fe4472f9861b0738bb410" title="fatan2_deg" alt="" coords="247,107,332,133"/> 1067</map> 1068</div> 1069<div class="dynheader"> 1070Here is the caller graph for this function:</div> 1071<div class="dyncontent"> 1072<div class="center"><img src="a00899_aa781ea4b9430531df4697d3cb39f7454_icgraph.png" border="0" usemap="#a00899_aa781ea4b9430531df4697d3cb39f7454_icgraph" alt=""/></div> 1073<map name="a00899_aa781ea4b9430531df4697d3cb39f7454_icgraph" id="a00899_aa781ea4b9430531df4697d3cb39f7454_icgraph"> 1074<area shape="rect" id="node2" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="259,5,410,32"/> 1075<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="259,56,411,83"/> 1076<area shape="rect" id="node4" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="259,107,410,133"/> 1077<area shape="rect" id="node5" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="254,157,415,184"/> 1078<area shape="rect" id="node6" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="247,208,423,235"/> 1079</map> 1080</div> 1081 1082</div> 1083</div> 1084<a id="a624e56625ef65d6af54643c866a6c64c"></a> 1085<h2 class="memtitle"><span class="permalink"><a href="#a624e56625ef65d6af54643c866a6c64c">◆ </a></span>fqAeq1()</h2> 1086 1087<div class="memitem"> 1088<div class="memproto"> 1089 <table class="memname"> 1090 <tr> 1091 <td class="memname">void fqAeq1 </td> 1092 <td>(</td> 1093 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1094 <td class="paramname"><em>pqA</em></td><td>)</td> 1095 <td></td> 1096 </tr> 1097 </table> 1098</div><div class="memdoc"> 1099 1100<p>set a quaternion to the unit quaternion </p> 1101 1102<p class="definition">Definition at line <a class="el" href="a00896_source.html#l01018">1018</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1103 1104<p class="reference">References <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1105 1106<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00235">fInit_3DOF_Y_BASIC()</a>.</p> 1107<div class="dynheader"> 1108Here is the caller graph for this function:</div> 1109<div class="dyncontent"> 1110<div class="center"><img src="a00899_a624e56625ef65d6af54643c866a6c64c_icgraph.png" border="0" usemap="#a00899_a624e56625ef65d6af54643c866a6c64c_icgraph" alt=""/></div> 1111<map name="a00899_a624e56625ef65d6af54643c866a6c64c_icgraph" id="a00899_a624e56625ef65d6af54643c866a6c64c_icgraph"> 1112<area shape="rect" id="node2" href="a00848.html#a0d585ddb24fa91e8d18228bee7a9539c" title="fInit_3DOF_Y_BASIC" alt="" coords="116,5,261,32"/> 1113</map> 1114</div> 1115 1116</div> 1117</div> 1118<a id="a3bcc5aef9bd7abd545d33660aa3ccbd0"></a> 1119<h2 class="memtitle"><span class="permalink"><a href="#a3bcc5aef9bd7abd545d33660aa3ccbd0">◆ </a></span>fqAeqNormqA()</h2> 1120 1121<div class="memitem"> 1122<div class="memproto"> 1123 <table class="memname"> 1124 <tr> 1125 <td class="memname">void fqAeqNormqA </td> 1126 <td>(</td> 1127 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1128 <td class="paramname"><em>pqA</em></td><td>)</td> 1129 <td></td> 1130 </tr> 1131 </table> 1132</div><div class="memdoc"> 1133 1134<p>function normalizes a rotation quaternion and ensures q0 is non-negative </p> 1135 1136<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00983">983</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1137 1138<p class="reference">References <a class="el" href="a00896_source.html#l00036">CORRUPTQUAT</a>, <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1139 1140<p class="reference">Referenced by <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>, <a class="el" href="a00896_source.html#l00765">fQuaternionFromRotationMatrix()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1141<div class="dynheader"> 1142Here is the caller graph for this function:</div> 1143<div class="dyncontent"> 1144<div class="center"><img src="a00899_a3bcc5aef9bd7abd545d33660aa3ccbd0_icgraph.png" border="0" usemap="#a00899_a3bcc5aef9bd7abd545d33660aa3ccbd0_icgraph" alt=""/></div> 1145<map name="a00899_a3bcc5aef9bd7abd545d33660aa3ccbd0_icgraph" id="a00899_a3bcc5aef9bd7abd545d33660aa3ccbd0_icgraph"> 1146<area shape="rect" id="node2" href="a00899.html#ad60a32e44f24a4b8fa5bddfb23721bc8" title="function low pass filters an orientation quaternion and computes virtual gyro rotation rate ..." alt="" coords="170,5,345,32"/> 1147<area shape="rect" id="node3" href="a00899.html#a04da5468213c1687c5b3485f15af288e" title="compute the orientation quaternion from a 3x3 rotation matrix " alt="" coords="156,56,359,83"/> 1148<area shape="rect" id="node4" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="407,81,583,108"/> 1149<area shape="rect" id="node5" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="182,157,333,184"/> 1150</map> 1151</div> 1152 1153</div> 1154</div> 1155<a id="a04da5468213c1687c5b3485f15af288e"></a> 1156<h2 class="memtitle"><span class="permalink"><a href="#a04da5468213c1687c5b3485f15af288e">◆ </a></span>fQuaternionFromRotationMatrix()</h2> 1157 1158<div class="memitem"> 1159<div class="memproto"> 1160 <table class="memname"> 1161 <tr> 1162 <td class="memname">void fQuaternionFromRotationMatrix </td> 1163 <td>(</td> 1164 <td class="paramtype">float </td> 1165 <td class="paramname"><em>R</em>[][3], </td> 1166 </tr> 1167 <tr> 1168 <td class="paramkey"></td> 1169 <td></td> 1170 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1171 <td class="paramname"><em>pq</em> </td> 1172 </tr> 1173 <tr> 1174 <td></td> 1175 <td>)</td> 1176 <td></td><td></td> 1177 </tr> 1178 </table> 1179</div><div class="memdoc"> 1180 1181<p>compute the orientation quaternion from a 3x3 rotation matrix </p> 1182<dl class="params"><dt>Parameters</dt><dd> 1183 <table class="params"> 1184 <tr><td class="paramname">R</td><td>Rotation matrix (input) </td></tr> 1185 <tr><td class="paramname">pq</td><td><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> (output) </td></tr> 1186 </table> 1187 </dd> 1188</dl> 1189 1190<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00765">765</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1191 1192<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="a00896_source.html#l00983">fqAeqNormqA()</a>, <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>, and <a class="el" href="a00896_source.html#l00035">SMALLQ0</a>.</p> 1193 1194<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00207">fInit_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00179">fInit_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00250">fInit_6DOF_GB_BASIC()</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="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1195<div class="dynheader"> 1196Here is the call graph for this function:</div> 1197<div class="dyncontent"> 1198<div class="center"><img src="a00899_a04da5468213c1687c5b3485f15af288e_cgraph.png" border="0" usemap="#a00899_a04da5468213c1687c5b3485f15af288e_cgraph" alt=""/></div> 1199<map name="a00899_a04da5468213c1687c5b3485f15af288e_cgraph" id="a00899_a04da5468213c1687c5b3485f15af288e_cgraph"> 1200<area shape="rect" id="node2" href="a00896.html#a3bcc5aef9bd7abd545d33660aa3ccbd0" title="function normalizes a rotation quaternion and ensures q0 is non-negative " alt="" coords="256,5,359,32"/> 1201</map> 1202</div> 1203<div class="dynheader"> 1204Here is the caller graph for this function:</div> 1205<div class="dyncontent"> 1206<div class="center"><img src="a00899_a04da5468213c1687c5b3485f15af288e_icgraph.png" border="0" usemap="#a00899_a04da5468213c1687c5b3485f15af288e_icgraph" alt=""/></div> 1207<map name="a00899_a04da5468213c1687c5b3485f15af288e_icgraph" id="a00899_a04da5468213c1687c5b3485f15af288e_icgraph"> 1208<area shape="rect" id="node2" href="a00848.html#adc49d74394c2a94a33ff65edea18233b" title="fInit_3DOF_B_BASIC" alt="" coords="273,5,418,32"/> 1209<area shape="rect" id="node3" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="495,31,646,57"/> 1210<area shape="rect" id="node4" href="a00848.html#a41f2c6419c8e0c019e08618283338d21" title="fInit_3DOF_G_BASIC" alt="" coords="272,107,419,133"/> 1211<area shape="rect" id="node5" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="495,132,647,159"/> 1212<area shape="rect" id="node6" href="a00848.html#ab5f459ab0c8c9b4123e2fb33f5061332" title="fInit_6DOF_GB_BASIC" alt="" coords="268,208,423,235"/> 1213<area shape="rect" id="node7" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="490,233,651,260"/> 1214<area shape="rect" id="node8" href="a00848.html#adb837744c0801f50a0890f1385ca5c75" title="fInit_6DOF_GY_KALMAN" alt="" coords="260,309,431,336"/> 1215<area shape="rect" id="node9" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="483,360,659,387"/> 1216<area shape="rect" id="node10" href="a00848.html#a5627f82d4cbb9af1102d10ad1bea3699" title="fInit_9DOF_GBY_KALMAN" alt="" coords="256,411,435,437"/> 1217</map> 1218</div> 1219 1220</div> 1221</div> 1222<a id="a9f946d534fae22e9e68b9f0e2e2822ef"></a> 1223<h2 class="memtitle"><span class="permalink"><a href="#a9f946d534fae22e9e68b9f0e2e2822ef">◆ </a></span>fQuaternionFromRotationVectorDeg()</h2> 1224 1225<div class="memitem"> 1226<div class="memproto"> 1227 <table class="memname"> 1228 <tr> 1229 <td class="memname">void fQuaternionFromRotationVectorDeg </td> 1230 <td>(</td> 1231 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1232 <td class="paramname"><em>pq</em>, </td> 1233 </tr> 1234 <tr> 1235 <td class="paramkey"></td> 1236 <td></td> 1237 <td class="paramtype">const float </td> 1238 <td class="paramname"><em>rvecdeg</em>[], </td> 1239 </tr> 1240 <tr> 1241 <td class="paramkey"></td> 1242 <td></td> 1243 <td class="paramtype">float </td> 1244 <td class="paramname"><em>fscaling</em> </td> 1245 </tr> 1246 <tr> 1247 <td></td> 1248 <td>)</td> 1249 <td></td><td></td> 1250 </tr> 1251 </table> 1252</div><div class="memdoc"> 1253 1254<p>computes normalized rotation quaternion from a rotation vector (deg) </p> 1255<dl class="params"><dt>Parameters</dt><dd> 1256 <table class="params"> 1257 <tr><td class="paramname">pq</td><td>quaternion (output) </td></tr> 1258 <tr><td class="paramname">rvecdeg</td><td>rotation vector in degrees </td></tr> 1259 <tr><td class="paramname">fscaling</td><td>delta Time </td></tr> 1260 </table> 1261 </dd> 1262</dl> 1263 1264<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00697">697</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1265 1266<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#l00083">FPIOVER180</a>, <a class="el" href="a00914_source.html#l00092">ONEOVER3840</a>, <a class="el" href="a00914_source.html#l00090">ONEOVER48</a>, <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1267 1268<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1269<div class="dynheader"> 1270Here is the caller graph for this function:</div> 1271<div class="dyncontent"> 1272<div class="center"><img src="a00899_a9f946d534fae22e9e68b9f0e2e2822ef_icgraph.png" border="0" usemap="#a00899_a9f946d534fae22e9e68b9f0e2e2822ef_icgraph" alt=""/></div> 1273<map name="a00899_a9f946d534fae22e9e68b9f0e2e2822ef_icgraph" id="a00899_a9f946d534fae22e9e68b9f0e2e2822ef_icgraph"> 1274<area shape="rect" id="node2" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="293,5,443,32"/> 1275<area shape="rect" id="node3" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="280,56,456,83"/> 1276</map> 1277</div> 1278 1279</div> 1280</div> 1281<a id="ab93a6fd700fd1557e9b8f6796bfe3035"></a> 1282<h2 class="memtitle"><span class="permalink"><a href="#ab93a6fd700fd1557e9b8f6796bfe3035">◆ </a></span>fRotationMatrixFromQuaternion()</h2> 1283 1284<div class="memitem"> 1285<div class="memproto"> 1286 <table class="memname"> 1287 <tr> 1288 <td class="memname">void fRotationMatrixFromQuaternion </td> 1289 <td>(</td> 1290 <td class="paramtype">float </td> 1291 <td class="paramname"><em>R</em>[][3], </td> 1292 </tr> 1293 <tr> 1294 <td class="paramkey"></td> 1295 <td></td> 1296 <td class="paramtype">const <a class="el" href="a03979.html">Quaternion</a> * </td> 1297 <td class="paramname"><em>pq</em> </td> 1298 </tr> 1299 <tr> 1300 <td></td> 1301 <td>)</td> 1302 <td></td><td></td> 1303 </tr> 1304 </table> 1305</div><div class="memdoc"> 1306 1307<p>compute the rotation matrix from an orientation quaternion </p> 1308<dl class="params"><dt>Parameters</dt><dd> 1309 <table class="params"> 1310 <tr><td class="paramname">R</td><td>Rotation matrix (output) </td></tr> 1311 <tr><td class="paramname">pq</td><td><a class="el" href="a03979.html" title="quaternion structure definition ">Quaternion</a> (input) </td></tr> 1312 </table> 1313 </dd> 1314</dl> 1315 1316<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00806">806</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1317 1318<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="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1319 1320<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1321<div class="dynheader"> 1322Here is the caller graph for this function:</div> 1323<div class="dyncontent"> 1324<div class="center"><img src="a00899_ab93a6fd700fd1557e9b8f6796bfe3035_icgraph.png" border="0" usemap="#a00899_ab93a6fd700fd1557e9b8f6796bfe3035_icgraph" alt=""/></div> 1325<map name="a00899_ab93a6fd700fd1557e9b8f6796bfe3035_icgraph" id="a00899_ab93a6fd700fd1557e9b8f6796bfe3035_icgraph"> 1326<area shape="rect" id="node2" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="269,5,419,32"/> 1327<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="268,56,420,83"/> 1328<area shape="rect" id="node4" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="269,107,419,133"/> 1329<area shape="rect" id="node5" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="263,157,425,184"/> 1330<area shape="rect" id="node6" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="256,208,432,235"/> 1331</map> 1332</div> 1333 1334</div> 1335</div> 1336<a id="aa48ae334cf6bbedf2b9e7423d17cb4ac"></a> 1337<h2 class="memtitle"><span class="permalink"><a href="#aa48ae334cf6bbedf2b9e7423d17cb4ac">◆ </a></span>fRotationVectorDegFromQuaternion()</h2> 1338 1339<div class="memitem"> 1340<div class="memproto"> 1341 <table class="memname"> 1342 <tr> 1343 <td class="memname">void fRotationVectorDegFromQuaternion </td> 1344 <td>(</td> 1345 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1346 <td class="paramname"><em>pq</em>, </td> 1347 </tr> 1348 <tr> 1349 <td class="paramkey"></td> 1350 <td></td> 1351 <td class="paramtype">float </td> 1352 <td class="paramname"><em>rvecdeg</em>[] </td> 1353 </tr> 1354 <tr> 1355 <td></td> 1356 <td>)</td> 1357 <td></td><td></td> 1358 </tr> 1359 </table> 1360</div><div class="memdoc"> 1361 1362<p>computes rotation vector (deg) from rotation quaternion </p> 1363<dl class="params"><dt>Parameters</dt><dd> 1364 <table class="params"> 1365 <tr><td class="paramname">pq</td><td>quaternion (input) </td></tr> 1366 <tr><td class="paramname">rvecdeg</td><td>rotation vector in degrees (output) </td></tr> 1367 </table> 1368 </dd> 1369</dl> 1370 1371<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00846">846</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1372 1373<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#l00084">F180OVERPI</a>, <a class="el" href="a00914_source.html#l00083">FPIOVER180</a>, <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1374 1375<p class="reference">Referenced by <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>, <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1376<div class="dynheader"> 1377Here is the caller graph for this function:</div> 1378<div class="dyncontent"> 1379<div class="center"><img src="a00899_aa48ae334cf6bbedf2b9e7423d17cb4ac_icgraph.png" border="0" usemap="#a00899_aa48ae334cf6bbedf2b9e7423d17cb4ac_icgraph" alt=""/></div> 1380<map name="a00899_aa48ae334cf6bbedf2b9e7423d17cb4ac_icgraph" id="a00899_aa48ae334cf6bbedf2b9e7423d17cb4ac_icgraph"> 1381<area shape="rect" id="node2" href="a00899.html#ad60a32e44f24a4b8fa5bddfb23721bc8" title="function low pass filters an orientation quaternion and computes virtual gyro rotation rate ..." alt="" coords="281,43,455,69"/> 1382<area shape="rect" id="node3" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="509,5,660,32"/> 1383<area shape="rect" id="node4" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="509,81,661,108"/> 1384<area shape="rect" id="node5" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="504,132,665,159"/> 1385<area shape="rect" id="node6" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="293,195,443,221"/> 1386<area shape="rect" id="node7" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="280,245,456,272"/> 1387</map> 1388</div> 1389 1390</div> 1391</div> 1392<a id="a4ced4d83316052e2c97ce2746abdc1e0"></a> 1393<h2 class="memtitle"><span class="permalink"><a href="#a4ced4d83316052e2c97ce2746abdc1e0">◆ </a></span>fveqconjgquq()</h2> 1394 1395<div class="memitem"> 1396<div class="memproto"> 1397 <table class="memname"> 1398 <tr> 1399 <td class="memname">void fveqconjgquq </td> 1400 <td>(</td> 1401 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1402 <td class="paramname"><em>pfq</em>, </td> 1403 </tr> 1404 <tr> 1405 <td class="paramkey"></td> 1406 <td></td> 1407 <td class="paramtype">float </td> 1408 <td class="paramname"><em>fu</em>[], </td> 1409 </tr> 1410 <tr> 1411 <td class="paramkey"></td> 1412 <td></td> 1413 <td class="paramtype">float </td> 1414 <td class="paramname"><em>fv</em>[] </td> 1415 </tr> 1416 <tr> 1417 <td></td> 1418 <td>)</td> 1419 <td></td><td></td> 1420 </tr> 1421 </table> 1422</div><div class="memdoc"> 1423<p>function computes the rotation quaternion that rotates unit vector u onto unit vector v as v=q*.u.q using q = 1/sqrt(2) * {sqrt(1 + u.v) - u x v / sqrt(1 + u.v)} </p> 1424 1425<p class="definition">Definition at line <a class="el" href="a00896_source.html#l01028">1028</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1426 1427<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#l00093">ONEOVERSQRT2</a>, <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1428 1429<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1430<div class="dynheader"> 1431Here is the caller graph for this function:</div> 1432<div class="dyncontent"> 1433<div class="center"><img src="a00899_a4ced4d83316052e2c97ce2746abdc1e0_icgraph.png" border="0" usemap="#a00899_a4ced4d83316052e2c97ce2746abdc1e0_icgraph" alt=""/></div> 1434<map name="a00899_a4ced4d83316052e2c97ce2746abdc1e0_icgraph" id="a00899_a4ced4d83316052e2c97ce2746abdc1e0_icgraph"> 1435<area shape="rect" id="node2" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="149,5,325,32"/> 1436</map> 1437</div> 1438 1439</div> 1440</div> 1441<a id="a13cd93780206a620abc7bdf7907e6dc6"></a> 1442<h2 class="memtitle"><span class="permalink"><a href="#a13cd93780206a620abc7bdf7907e6dc6">◆ </a></span>fWin8AnglesDegFromRotationMatrix()</h2> 1443 1444<div class="memitem"> 1445<div class="memproto"> 1446 <table class="memname"> 1447 <tr> 1448 <td class="memname">void fWin8AnglesDegFromRotationMatrix </td> 1449 <td>(</td> 1450 <td class="paramtype">float </td> 1451 <td class="paramname"><em>R</em>[][3], </td> 1452 </tr> 1453 <tr> 1454 <td class="paramkey"></td> 1455 <td></td> 1456 <td class="paramtype">float * </td> 1457 <td class="paramname"><em>pfPhiDeg</em>, </td> 1458 </tr> 1459 <tr> 1460 <td class="paramkey"></td> 1461 <td></td> 1462 <td class="paramtype">float * </td> 1463 <td class="paramname"><em>pfTheDeg</em>, </td> 1464 </tr> 1465 <tr> 1466 <td class="paramkey"></td> 1467 <td></td> 1468 <td class="paramtype">float * </td> 1469 <td class="paramname"><em>pfPsiDeg</em>, </td> 1470 </tr> 1471 <tr> 1472 <td class="paramkey"></td> 1473 <td></td> 1474 <td class="paramtype">float * </td> 1475 <td class="paramname"><em>pfRhoDeg</em>, </td> 1476 </tr> 1477 <tr> 1478 <td class="paramkey"></td> 1479 <td></td> 1480 <td class="paramtype">float * </td> 1481 <td class="paramname"><em>pfChiDeg</em> </td> 1482 </tr> 1483 <tr> 1484 <td></td> 1485 <td>)</td> 1486 <td></td><td></td> 1487 </tr> 1488 </table> 1489</div><div class="memdoc"> 1490 1491<p>extract the Windows 8 angles in degrees from the Windows 8 rotation matrix </p> 1492<dl class="params"><dt>Parameters</dt><dd> 1493 <table class="params"> 1494 <tr><td class="paramname">R</td><td>rotation matrix input </td></tr> 1495 <tr><td class="paramname">pfPhiDeg</td><td>the roll angle -90.0 <= Phi <= 90.0 deg </td></tr> 1496 <tr><td class="paramname">pfTheDeg</td><td>pitch angle Theta in the range -180.0 <= The < 180.0 deg </td></tr> 1497 <tr><td class="paramname">pfPsiDeg</td><td>yaw angle Psi in range 0.0 <= Psi < 360.0 deg </td></tr> 1498 <tr><td class="paramname">pfRhoDeg</td><td>the compass angle Rho = 360 - Psi </td></tr> 1499 <tr><td class="paramname">pfChiDeg</td><td>tilt angle from vertical Chi (0 <= Chi <= 180 deg) </td></tr> 1500 </table> 1501 </dd> 1502</dl> 1503 1504<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00605">605</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1505 1506<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="a00761_source.html#l00043">facos_deg()</a>, <a class="el" href="a00761_source.html#l00028">fasin_deg()</a>, <a class="el" href="a00761_source.html#l00109">fatan2_deg()</a>, and <a class="el" href="a00761_source.html#l00059">fatan_deg()</a>.</p> 1507 1508<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00489">fRun_3DOF_B_BASIC()</a>, <a class="el" href="a00845_source.html#l00439">fRun_3DOF_G_BASIC()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, <a class="el" href="a00845_source.html#l00582">fRun_6DOF_GB_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1509<div class="dynheader"> 1510Here is the call graph for this function:</div> 1511<div class="dyncontent"> 1512<div class="center"><img src="a00899_a13cd93780206a620abc7bdf7907e6dc6_cgraph.png" border="0" usemap="#a00899_a13cd93780206a620abc7bdf7907e6dc6_cgraph" alt=""/></div> 1513<map name="a00899_a13cd93780206a620abc7bdf7907e6dc6_cgraph" id="a00899_a13cd93780206a620abc7bdf7907e6dc6_cgraph"> 1514<area shape="rect" id="node2" href="a00761.html#a084fe0ff189767dca40fbe330d7394f0" title="facos_deg" alt="" coords="251,5,333,32"/> 1515<area shape="rect" id="node3" href="a00761.html#a09d50b3d2c3d4d24e447a9b960eb5267" title="fatan_deg" alt="" coords="383,81,461,108"/> 1516<area shape="rect" id="node4" href="a00761.html#a956336cb9e7270c6cfbf667b1075c063" title="fasin_deg" alt="" coords="253,107,331,133"/> 1517<area shape="rect" id="node5" href="a00761.html#aebfdfbd2df0fe4472f9861b0738bb410" title="fatan2_deg" alt="" coords="249,157,335,184"/> 1518</map> 1519</div> 1520<div class="dynheader"> 1521Here is the caller graph for this function:</div> 1522<div class="dyncontent"> 1523<div class="center"><img src="a00899_a13cd93780206a620abc7bdf7907e6dc6_icgraph.png" border="0" usemap="#a00899_a13cd93780206a620abc7bdf7907e6dc6_icgraph" alt=""/></div> 1524<map name="a00899_a13cd93780206a620abc7bdf7907e6dc6_icgraph" id="a00899_a13cd93780206a620abc7bdf7907e6dc6_icgraph"> 1525<area shape="rect" id="node2" href="a00848.html#a2df5be5795338038774a64b41cf53a8e" title="fRun_3DOF_B_BASIC" alt="" coords="262,5,413,32"/> 1526<area shape="rect" id="node3" href="a00848.html#a7b5db1923cfa0dc160016e7d9b45b1c2" title="fRun_3DOF_G_BASIC" alt="" coords="261,56,413,83"/> 1527<area shape="rect" id="node4" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="262,107,413,133"/> 1528<area shape="rect" id="node5" href="a00848.html#a34c550860d0e4e42bf22a2a3527043b9" title="fRun_6DOF_GB_BASIC" alt="" coords="257,157,418,184"/> 1529<area shape="rect" id="node6" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="249,208,425,235"/> 1530</map> 1531</div> 1532 1533</div> 1534</div> 1535<a id="a22a32becfcb162db012f41ff4f3bc942"></a> 1536<h2 class="memtitle"><span class="permalink"><a href="#a22a32becfcb162db012f41ff4f3bc942">◆ </a></span>qAeqAxB()</h2> 1537 1538<div class="memitem"> 1539<div class="memproto"> 1540 <table class="memname"> 1541 <tr> 1542 <td class="memname">void qAeqAxB </td> 1543 <td>(</td> 1544 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1545 <td class="paramname"><em>pqA</em>, </td> 1546 </tr> 1547 <tr> 1548 <td class="paramkey"></td> 1549 <td></td> 1550 <td class="paramtype">const <a class="el" href="a03979.html">Quaternion</a> * </td> 1551 <td class="paramname"><em>pqB</em> </td> 1552 </tr> 1553 <tr> 1554 <td></td> 1555 <td>)</td> 1556 <td></td><td></td> 1557 </tr> 1558 </table> 1559</div><div class="memdoc"> 1560 1561<p>function compute the quaternion product qA = qA * qB </p> 1562 1563<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00953">953</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1564 1565<p class="reference">References <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1566 1567<p class="reference">Referenced by <a class="el" href="a00788_source.html#l00036">ApplyPerturbation()</a>, <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>, <a class="el" href="a00845_source.html#l00534">fRun_3DOF_Y_BASIC()</a>, and <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1568<div class="dynheader"> 1569Here is the caller graph for this function:</div> 1570<div class="dyncontent"> 1571<div class="center"><img src="a00899_a22a32becfcb162db012f41ff4f3bc942_icgraph.png" border="0" usemap="#a00899_a22a32becfcb162db012f41ff4f3bc942_icgraph" alt=""/></div> 1572<map name="a00899_a22a32becfcb162db012f41ff4f3bc942_icgraph" id="a00899_a22a32becfcb162db012f41ff4f3bc942_icgraph"> 1573<area shape="rect" id="node2" href="a00791.html#a4cfb25cf8dddd5b009b793929f32429e" title="ApplyPerturbation" alt="" coords="156,5,281,32"/> 1574<area shape="rect" id="node3" href="a00899.html#ad60a32e44f24a4b8fa5bddfb23721bc8" title="function low pass filters an orientation quaternion and computes virtual gyro rotation rate ..." alt="" coords="131,56,306,83"/> 1575<area shape="rect" id="node4" href="a00848.html#a288f51cd39aeb8ace643d844e219e9d3" title="fRun_3DOF_Y_BASIC" alt="" coords="143,107,294,133"/> 1576<area shape="rect" id="node5" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="131,157,307,184"/> 1577</map> 1578</div> 1579 1580</div> 1581</div> 1582<a id="a12448c36b93d8f3375ce000ef4527b4a"></a> 1583<h2 class="memtitle"><span class="permalink"><a href="#a12448c36b93d8f3375ce000ef4527b4a">◆ </a></span>qAeqBxC()</h2> 1584 1585<div class="memitem"> 1586<div class="memproto"> 1587 <table class="memname"> 1588 <tr> 1589 <td class="memname">void qAeqBxC </td> 1590 <td>(</td> 1591 <td class="paramtype"><a class="el" href="a03979.html">Quaternion</a> * </td> 1592 <td class="paramname"><em>pqA</em>, </td> 1593 </tr> 1594 <tr> 1595 <td class="paramkey"></td> 1596 <td></td> 1597 <td class="paramtype">const <a class="el" href="a03979.html">Quaternion</a> * </td> 1598 <td class="paramname"><em>pqB</em>, </td> 1599 </tr> 1600 <tr> 1601 <td class="paramkey"></td> 1602 <td></td> 1603 <td class="paramtype">const <a class="el" href="a03979.html">Quaternion</a> * </td> 1604 <td class="paramname"><em>pqC</em> </td> 1605 </tr> 1606 <tr> 1607 <td></td> 1608 <td>)</td> 1609 <td></td><td></td> 1610 </tr> 1611 </table> 1612</div><div class="memdoc"> 1613 1614<p>function compute the quaternion product qB * qC </p> 1615 1616<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00942">942</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1617 1618<p class="reference">References <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1619 1620<p class="reference">Referenced by <a class="el" href="a00845_source.html#l00635">fRun_6DOF_GY_KALMAN()</a>.</p> 1621<div class="dynheader"> 1622Here is the caller graph for this function:</div> 1623<div class="dyncontent"> 1624<div class="center"><img src="a00899_a12448c36b93d8f3375ce000ef4527b4a_icgraph.png" border="0" usemap="#a00899_a12448c36b93d8f3375ce000ef4527b4a_icgraph" alt=""/></div> 1625<map name="a00899_a12448c36b93d8f3375ce000ef4527b4a_icgraph" id="a00899_a12448c36b93d8f3375ce000ef4527b4a_icgraph"> 1626<area shape="rect" id="node2" href="a00848.html#a942d619f897d6820d5c148bdc910f962" title="fRun_6DOF_GY_KALMAN" alt="" coords="131,5,307,32"/> 1627</map> 1628</div> 1629 1630</div> 1631</div> 1632<a id="adb2ea2734ac13ca77b3218d761fe45e0"></a> 1633<h2 class="memtitle"><span class="permalink"><a href="#adb2ea2734ac13ca77b3218d761fe45e0">◆ </a></span>qconjgAxB()</h2> 1634 1635<div class="memitem"> 1636<div class="memproto"> 1637 <table class="memname"> 1638 <tr> 1639 <td class="memname"><a class="el" href="a03979.html">Quaternion</a> qconjgAxB </td> 1640 <td>(</td> 1641 <td class="paramtype">const <a class="el" href="a03979.html">Quaternion</a> * </td> 1642 <td class="paramname"><em>pqA</em>, </td> 1643 </tr> 1644 <tr> 1645 <td class="paramkey"></td> 1646 <td></td> 1647 <td class="paramtype">const <a class="el" href="a03979.html">Quaternion</a> * </td> 1648 <td class="paramname"><em>pqB</em> </td> 1649 </tr> 1650 <tr> 1651 <td></td> 1652 <td>)</td> 1653 <td></td><td></td> 1654 </tr> 1655 </table> 1656</div><div class="memdoc"> 1657 1658<p>function compute the quaternion product conjg(qA) * qB </p> 1659 1660<p class="definition">Definition at line <a class="el" href="a00896_source.html#l00970">970</a> of file <a class="el" href="a00896_source.html">orientation.c</a>.</p> 1661 1662<p class="reference">References <a class="el" href="a00899_source.html#l00022">Quaternion::q0</a>, <a class="el" href="a00899_source.html#l00023">Quaternion::q1</a>, <a class="el" href="a00899_source.html#l00024">Quaternion::q2</a>, and <a class="el" href="a00899_source.html#l00025">Quaternion::q3</a>.</p> 1663 1664<p class="reference">Referenced by <a class="el" href="a00896_source.html#l00896">fLPFOrientationQuaternion()</a>.</p> 1665<div class="dynheader"> 1666Here is the caller graph for this function:</div> 1667<div class="dyncontent"> 1668<div class="center"><img src="a00899_adb2ea2734ac13ca77b3218d761fe45e0_icgraph.png" border="0" usemap="#a00899_adb2ea2734ac13ca77b3218d761fe45e0_icgraph" alt=""/></div> 1669<map name="a00899_adb2ea2734ac13ca77b3218d761fe45e0_icgraph" id="a00899_adb2ea2734ac13ca77b3218d761fe45e0_icgraph"> 1670<area shape="rect" id="node2" href="a00899.html#ad60a32e44f24a4b8fa5bddfb23721bc8" title="function low pass filters an orientation quaternion and computes virtual gyro rotation rate ..." alt="" coords="139,5,313,32"/> 1671</map> 1672</div> 1673 1674</div> 1675</div> 1676</div><!-- contents --> 1677 1678<hr class="footer"/><address class="footer"><small> 1679© Copyright 2016-2022 NXP. All Rights Reserved. SPDX-License-Identifier: BSD-3-Clause 1680</small></address> 1681</body> 1682</html> 1683