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   &#160;<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> &#124;
49<a href="#typedef-members">Typedefs</a> &#124;
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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03979.html">Quaternion</a></td></tr>
74<tr class="memdesc:"><td class="mdescLeft">&#160;</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">&#160;</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>&#160;</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">&#160;</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">&#160;</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&#160;</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">&#160;</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">&#160;</td></tr>
88<tr class="memitem:a480280c72c7243e5c192cab628e0a38d"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
91<tr class="memitem:a292e27a8f966749f38e5e7936b05e29b"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
94<tr class="memitem:a3aea6b9a9647d15db0dad4be820fbba9"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
97<tr class="memitem:a765e472022e2ba9717989e6527df49a8"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
100<tr class="memitem:a79e9bfb4c86c1cd82b83058afd08df10"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
103<tr class="memitem:afcde979fba0bcae15591096fe68648c9"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
106<tr class="memitem:a43ad72cf13f54b0f96355bb7005b6872"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
109<tr class="memitem:aabc044b27a0cdd7db677c3203b77de90"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
112<tr class="memitem:aa781ea4b9430531df4697d3cb39f7454"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
115<tr class="memitem:a77eeda9a699b1456bb8b02665ad80522"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
118<tr class="memitem:a13cd93780206a620abc7bdf7907e6dc6"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
121<tr class="memitem:a04da5468213c1687c5b3485f15af288e"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
124<tr class="memitem:ab93a6fd700fd1557e9b8f6796bfe3035"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
127<tr class="memitem:a12448c36b93d8f3375ce000ef4527b4a"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
130<tr class="memitem:a22a32becfcb162db012f41ff4f3bc942"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
133<tr class="memitem:adb2ea2734ac13ca77b3218d761fe45e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a03979.html">Quaternion</a>&#160;</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">&#160;</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">&#160;</td></tr>
136<tr class="memitem:a3bcc5aef9bd7abd545d33660aa3ccbd0"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
139<tr class="memitem:a624e56625ef65d6af54643c866a6c64c"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
142<tr class="memitem:a9f946d534fae22e9e68b9f0e2e2822ef"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
145<tr class="memitem:aa48ae334cf6bbedf2b9e7423d17cb4ac"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
148<tr class="memitem:ad60a32e44f24a4b8fa5bddfb23721bc8"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
151<tr class="memitem:a4ced4d83316052e2c97ce2746abdc1e0"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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&#160;</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&#160;</td>
193          <td class="paramname"><em>fBc</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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&#160;</td>
254          <td class="paramname"><em>fBc</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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&#160;</td>
314          <td class="paramname"><em>fBc</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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&#160;</td>
374          <td class="paramname"><em>fGc</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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&#160;</td>
424          <td class="paramname"><em>fGc</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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&#160;</td>
474          <td class="paramname"><em>fGc</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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 *&#160;</td>
548          <td class="paramname"><em>pfChiDeg</em>&#160;</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 &lt;= Phi &lt;= 90.0 deg </td></tr>
563    <tr><td class="paramname">pfTheDeg</td><td>the pitch angle -180.0 &lt;= The &lt; 180.0 deg </td></tr>
564    <tr><td class="paramname">pfPsiDeg</td><td>yaw angle Psi with range 0.0 &lt;= Psi &lt; 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 &lt;= Chi &lt;= 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">&#9670;&nbsp;</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&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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&#160;</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&#160;</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 *&#160;</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 *&#160;</td>
653          <td class="paramname"><em>pfmodGc</em>&#160;</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">&#9670;&nbsp;</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&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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&#160;</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&#160;</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 *&#160;</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 *&#160;</td>
758          <td class="paramname"><em>pfmodGc</em>&#160;</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">&#9670;&nbsp;</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&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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&#160;</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&#160;</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 *&#160;</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 *&#160;</td>
863          <td class="paramname"><em>pfmodGc</em>&#160;</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">&#9670;&nbsp;</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> *&#160;</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> *&#160;</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&#160;</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&#160;</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&#160;</td>
950          <td class="paramname"><em>fOmega</em>[]&#160;</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&#45;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">&#9670;&nbsp;</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&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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 *&#160;</td>
1031          <td class="paramname"><em>pfChiDeg</em>&#160;</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 &lt;= Phi &lt; 180.0 deg </td></tr>
1046    <tr><td class="paramname">pfTheDeg</td><td>output: the pitch angle -90.0 &lt;= Theta &lt;= 90.0 deg </td></tr>
1047    <tr><td class="paramname">pfPsiDeg</td><td>output: the yaw (compass) angle 0.0 &lt;= Psi &lt; 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 &lt;= Chi &lt;= 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">&#9670;&nbsp;</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> *&#160;</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">&#9670;&nbsp;</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> *&#160;</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">&#9670;&nbsp;</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&#160;</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> *&#160;</td>
1171          <td class="paramname"><em>pq</em>&#160;</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&#45;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">&#9670;&nbsp;</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> *&#160;</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&#160;</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&#160;</td>
1244          <td class="paramname"><em>fscaling</em>&#160;</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">&#9670;&nbsp;</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&#160;</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> *&#160;</td>
1297          <td class="paramname"><em>pq</em>&#160;</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">&#9670;&nbsp;</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> *&#160;</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&#160;</td>
1352          <td class="paramname"><em>rvecdeg</em>[]&#160;</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">&#9670;&nbsp;</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> *&#160;</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&#160;</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&#160;</td>
1414          <td class="paramname"><em>fv</em>[]&#160;</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">&#9670;&nbsp;</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&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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 *&#160;</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 *&#160;</td>
1481          <td class="paramname"><em>pfChiDeg</em>&#160;</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 &lt;= Phi &lt;= 90.0 deg </td></tr>
1496    <tr><td class="paramname">pfTheDeg</td><td>pitch angle Theta in the range -180.0 &lt;= The &lt; 180.0 deg </td></tr>
1497    <tr><td class="paramname">pfPsiDeg</td><td>yaw angle Psi in range 0.0 &lt;= Psi &lt; 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 &lt;= Chi &lt;= 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">&#9670;&nbsp;</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> *&#160;</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> *&#160;</td>
1551          <td class="paramname"><em>pqB</em>&#160;</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">&#9670;&nbsp;</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> *&#160;</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> *&#160;</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> *&#160;</td>
1604          <td class="paramname"><em>pqC</em>&#160;</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">&#9670;&nbsp;</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> *&#160;</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> *&#160;</td>
1648          <td class="paramname"><em>pqB</em>&#160;</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&copy; Copyright 2016-2022 NXP. All Rights Reserved. SPDX-License-Identifier: BSD-3-Clause
1680</small></address>
1681</body>
1682</html>
1683