Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 3ebaf504d69f581a8834e53e04e712a5 > files > 146

gearbox-devel-9.11-6.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>GearBox Project</title>

<link rel="icon" href="gbx_icon_cardbox_sky.png" type="image/png">
<link rel="shortcut icon" href="gbx_icon_cardbox_sky.png" type="image/png">

<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<!-- Google Analytics -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3583782-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
<!-- Returning you to your regular programming -->
</head><body>

<!-- Header -->

<table border="0" cellspacing="0" cellpadding="0">

<tr><!-- create row -->

<!-- spacer cell -->
<!-- #CC CC CC -->
<td rowspan="1" colspan="1" bgcolor="#EEEEEE">&nbsp;&nbsp;&nbsp;&nbsp;</td>

<!-- menu cell -->
<td width="170" rowspan="1" colspan="1" align="left" valign="top" bgcolor="#EEEEEE">


<p>&nbsp;</p>
<p align="center"><a href="index.html"><img src="gbx_logo_cardbox_sky_150x150.png"></a></p><br>

<strong>INTRODUCTION</strong><br>
<strong><a href="gbx_doc_overview.html" style="text-decoration:none">Overview</a></strong><br>
<strong><a href="gbx_doc_getting.html" style="text-decoration:none">Download and Install</a></strong><br>
<!-- <strong><a href="gbx_doc_quickstart.html" style="text-decoration:none">Quick Start</a></strong><br> -->
<strong><a href="gbx_doc_documentation.html" style="text-decoration:none">Documentation</a></strong><br>
<strong><a href="gbx_doc_publications.html" style="text-decoration:none">Publications</a></strong><br>
<br>

<strong>REPOSITORY</strong><br>
<strong><a href="group__gbx__libs.html" style="text-decoration:none">Libraries</a></strong><br>
<!-- <strong><a href="group__gbx__utils.html" style="text-decoration:none">Utilities</a></strong><br> -->
<br>

<strong>DEVELOPER</strong><br>

<!--<strong><a href="gbx_doc_tutorials.html" style="text-decoration:none">Tutorials</a></strong><br>
<strong><a href="group__gbx__examples.html" style="text-decoration:none">Examples</a></strong><br>-->
<strong><a href="gbx_doc_devguide.html" style="text-decoration:none">Dev Guide</a></strong><br>
<!-- 
<strong><a href="gbx_doc_faq.html" style="text-decoration:none">FAQ</a></strong><br>
-->
<strong><a href="http://cdash.acfr.usyd.edu.au/index.php?project=Gearbox" style="text-decoration:none">Dashboard</a></strong><br>
<!--<strong><a href="http://wiki2.cas.edu.au/orca">Wiki</a></strong><br>
login/pass: orca/orca<br>-->
<br>

<strong>PEOPLE</strong><br>
<strong><a href="gbx_doc_contributors.html" style="text-decoration:none">Contributors</a></strong><br>
<strong><a href="gbx_doc_users.html" style="text-decoration:none">Users</a></strong><br>
<br>

<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=216468&amp;type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a><br>
<strong><a href="http://sourceforge.net/projects/gearbox">Project</a></strong><br>
<strong><a href="http://sourceforge.net/project/showfiles.php?group_id=216468">Download</a></strong><br>
<!--<strong><a href="http://sourceforge.net/tracker/?group_id=216468">Bugs/Feedback</a></strong><br>-->
<strong><a href="http://sourceforge.net/mail/?group_id=216468">Mailing lists</a></strong></p>
<p>&nbsp;</p>

</td><!-- /menu cell -->

<!-- one grey spacer cells -->
<td rowspan="1" colspan="1" bgcolor="#EEEEEE">&nbsp;&nbsp;&nbsp;&nbsp;</td>

<!-- one white spacer cells -->
<td rowspan="1" colspan="1">&nbsp;&nbsp;&nbsp;&nbsp;</td>

<!-- main content cell -->
<td rowspan="1" colspan="1" align="left" valign="top">


<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacegbxnovatelacfr.html">gbxnovatelacfr</a>::<a class="el" href="classgbxnovatelacfr_1_1Config.html">Config</a>
  </div>
</div>
<div class="contents">
<h1>gbxnovatelacfr::Config Class Reference</h1><!-- doxytag: class="gbxnovatelacfr::Config" -->
<p>All the information needed to configure the driver.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gbxnovatelacfr_2driver_8h_source.html">driver.h</a>&gt;</code></p>

<p><a href="classgbxnovatelacfr_1_1Config-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#ac8cd4d8f54e0d11f564d4c81e3fd8aa9">Config</a> (const <a class="el" href="classgbxnovatelacfr_1_1SimpleConfig.html">SimpleConfig</a> &amp;simpleCfg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to set up a Configuration for INS operation.  <a href="#ac8cd4d8f54e0d11f564d4c81e3fd8aa9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a87cdd72b4001dfb95a65d37a6ace3a66">Config</a> (const <a class="el" href="classgbxnovatelacfr_1_1GpsOnlyConfig.html">GpsOnlyConfig</a> &amp;gpsOnlyCfg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut to set up a Configuration for GPS operation.  <a href="#a87cdd72b4001dfb95a65d37a6ace3a66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bb632834b900c80b6c2f89a831ce01c"></a><!-- doxytag: member="gbxnovatelacfr::Config::Config" ref="a1bb632834b900c80b6c2f89a831ce01c" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a1bb632834b900c80b6c2f89a831ce01c">Config</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">disables everything, so you can (and must) set just the options you need. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#aed23241195e2570ec88fa7defe767aa0">isValid</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the configuration is sane.  <a href="#aed23241195e2570ec88fa7defe767aa0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5846e22463739a751ea1de2091fa28bc"></a><!-- doxytag: member="gbxnovatelacfr::Config::toString" ref="a5846e22463739a751ea1de2091fa28bc" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a5846e22463739a751ea1de2091fa28bc">toString</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps the config in human readable form. <br/></td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Serial settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp5c7dab3b46b8460b52f2fbeb09088e29"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a062878ad8ec2ee7b854db7e9e0346c45"></a><!-- doxytag: member="gbxnovatelacfr::Config::serialDevice_" ref="a062878ad8ec2ee7b854db7e9e0346c45" args="" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>serialDevice_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b225b89391dc9a532914bdd35412185"></a><!-- doxytag: member="gbxnovatelacfr::Config::baudRate_" ref="a5b225b89391dc9a532914bdd35412185" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>baudRate_</b></td></tr>
<tr><td colspan="2"><div class="groupHeader">IMU settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp30ebbed8858da6261b0f8e85efed0de0"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a561399d12d67246334dc20638b8e5bed"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableImu_" ref="a561399d12d67246334dc20638b8e5bed" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableImu_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a3a7eb49f73f9d72a1bce29e3fbb290ca">imuType_</a></td></tr>
<tr><td colspan="2"><div class="groupHeader">Data settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpf3feabc37e3e5bbc9f70919215cbcf05"></a> First we disable all output in the ctor. Then all the messages set to true here are enabled. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5a105390809fcd4b879e55b892d7f60"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableInsPva_" ref="ac5a105390809fcd4b879e55b892d7f60" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableInsPva_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0589bab65325ffd37e8a5515221f7736"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableGpsPos_" ref="a0589bab65325ffd37e8a5515221f7736" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableGpsPos_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf4d14a527328ee4d9ebcdd03a78d441"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableGpsVel_" ref="aaf4d14a527328ee4d9ebcdd03a78d441" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableGpsVel_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf941da830f4b1dbfbdb8f15aa6d6a7c"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableRawImu_" ref="adf941da830f4b1dbfbdb8f15aa6d6a7c" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableRawImu_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9f68ad1889cab1570c51377bff041a7"></a><!-- doxytag: member="gbxnovatelacfr::Config::ignoreUnknownMessages_" ref="ab9f68ad1889cab1570c51377bff041a7" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#ab9f68ad1889cab1570c51377bff041a7">ignoreUnknownMessages_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">normally we throw an exception, set this to "true" if you want to enable some other message permanently. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Data rate settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb503df5cc545b48e3eae39079181d2e6"></a> Time between messages in seconds (i.e. 0.01 == 100Hz). RawImu can only be reported at the "natural" rate of the IMU (100Hz or 200Hz, depending on model). We check in <a class="el" href="classgbxnovatelacfr_1_1Config.html#aed23241195e2570ec88fa7defe767aa0" title="Returns true if the configuration is sane.">isValid()</a> if any of these don't make sense </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6f77ffa7ed4fe8ceb1400da0630171f"></a><!-- doxytag: member="gbxnovatelacfr::Config::dtInsPva_" ref="ae6f77ffa7ed4fe8ceb1400da0630171f" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#ae6f77ffa7ed4fe8ceb1400da0630171f">dtInsPva_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">100Hz max, if RawImu is enabled 50Hz max <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfff6e4ed449b8c595173587411feea3"></a><!-- doxytag: member="gbxnovatelacfr::Config::dtGpsPos_" ref="abfff6e4ed449b8c595173587411feea3" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#abfff6e4ed449b8c595173587411feea3">dtGpsPos_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">20Hz max, 5Hz max if RawImu or InsPva is enabled <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10713b95ca59254285f6db466d460bbe"></a><!-- doxytag: member="gbxnovatelacfr::Config::dtGpsVel_" ref="a10713b95ca59254285f6db466d460bbe" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a10713b95ca59254285f6db466d460bbe">dtGpsVel_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">20Hz max, 5Hz max if RawImu or InsPva is enabled <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe7dc200c91021aa59d15120658f5ddd"></a><!-- doxytag: member="gbxnovatelacfr::Config::fixInvalidRateSettings_" ref="abe7dc200c91021aa59d15120658f5ddd" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#abe7dc200c91021aa59d15120658f5ddd">fixInvalidRateSettings_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Don't bitch about wrong rates, change them to something sensible. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">INS settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp66f5210469539c033093766ea2925515"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae76a93b0bad1bdbd08e6525df29c8b12"></a><!-- doxytag: member="gbxnovatelacfr::Config::imuToGpsOffset_" ref="ae76a93b0bad1bdbd08e6525df29c8b12" args="" -->
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#ae76a93b0bad1bdbd08e6525df29c8b12">imuToGpsOffset_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">vector (xyz [m]) from IMU center to Antenna Phase Center, in IMU coordinates, vital for INS performance, make sure you get this right! <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab27414da0b558631af0712cf9fdfc6d7"></a><!-- doxytag: member="gbxnovatelacfr::Config::imuToGpsOffsetUncertainty_" ref="ab27414da0b558631af0712cf9fdfc6d7" args="" -->
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#ab27414da0b558631af0712cf9fdfc6d7">imuToGpsOffsetUncertainty_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">optional (size 3 or 0) xyz; !it is unclear to me whether these are factors, or absolute values (in [m])! <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00fc3ae135da8024bafd2f5a6f05f968"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableInsOffset_" ref="a00fc3ae135da8024bafd2f5a6f05f968" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableInsOffset_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafcdee3480641e9a4e4de9423796cc91"></a><!-- doxytag: member="gbxnovatelacfr::Config::insOffset_" ref="aafcdee3480641e9a4e4de9423796cc91" args="" -->
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#aafcdee3480641e9a4e4de9423796cc91">insOffset_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">report INS position/velocity offset (xyz [m] in IMU coordinates) from the IMU center; useful e.g. to get data w.r. to robot's center of rotation <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f1e689156554764cfdbaa3f4062c25d"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableInsPhaseUpdate_" ref="a0f1e689156554764cfdbaa3f4062c25d" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a0f1e689156554764cfdbaa3f4062c25d">enableInsPhaseUpdate_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tightly coupled (phase based vs position based) filter; Chance of better performance in adverse conditions <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">GPS settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp37d3de3b191d42b4417f9f10d1a3fe10"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3baff591b09263b695b1abb7f059e015"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableCDGPS_" ref="a3baff591b09263b695b1abb7f059e015" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a3baff591b09263b695b1abb7f059e015">enableCDGPS_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">code-differential corrections over satellite (North America/Canada) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a065a8fe034851f90da0964dd6a3edeb8"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableSBAS_" ref="a065a8fe034851f90da0964dd6a3edeb8" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a065a8fe034851f90da0964dd6a3edeb8">enableSBAS_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">code-differential corrections over satellite on GPS frequencies (WAAS/EGNOS) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc4954d53d1dc523b0aa9f285570cae4"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableRTK_" ref="afc4954d53d1dc523b0aa9f285570cae4" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#afc4954d53d1dc523b0aa9f285570cae4">enableRTK_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">carrier-differential corrections (you need to set up your own base-station and wireless link), assumes RTCA corrections on COM2, 9600bps, 8N1 (hardcoded) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c6793512613df22e5a21e1445967d09"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableUseOfOmniStarCarrier_" ref="a1c6793512613df22e5a21e1445967d09" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#a1c6793512613df22e5a21e1445967d09">enableUseOfOmniStarCarrier_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">carrier-differential corrections OMNIStarXP/HP (you need to get a subscription with them) <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">INS settings for fast (dynamic) alignment</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp3c0d0dc44082ac8f7350ebb239e3441c"></a> !I'd strongly recommend that you read the manual _very_ closely! These guys enable the Span system to do an alignment while moving, they also allow you to mount the IMU in weird ways (e.g. upside down). It's worth to accept a fair amount of pain to mount the IMU in the recommended way. Otherwise you'll probably need a good amount of experimentation/calibration to get a parameter-set that works. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7389f85a60db24ec774ac5c99e6a9311"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableSetImuOrientation_" ref="a7389f85a60db24ec774ac5c99e6a9311" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableSetImuOrientation_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c3522e8abd6ba6ee9774eafaf3654d8"></a><!-- doxytag: member="gbxnovatelacfr::Config::setImuOrientation_" ref="a4c3522e8abd6ba6ee9774eafaf3654d8" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>setImuOrientation_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5131f319a4856de2d1a20c5b7b2074c2"></a><!-- doxytag: member="gbxnovatelacfr::Config::enableVehicleBodyRotation_" ref="a5131f319a4856de2d1a20c5b7b2074c2" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>enableVehicleBodyRotation_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a793f46dfdbe1ae7a4b76e6bcc6cec478"></a><!-- doxytag: member="gbxnovatelacfr::Config::vehicleBodyRotation_" ref="a793f46dfdbe1ae7a4b76e6bcc6cec478" args="" -->
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>vehicleBodyRotation_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb7a86c2ed3121d71a35148e8b2cda42"></a><!-- doxytag: member="gbxnovatelacfr::Config::vehicleBodyRotationUncertainty_" ref="acb7a86c2ed3121d71a35148e8b2cda42" args="" -->
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxnovatelacfr_1_1Config.html#acb7a86c2ed3121d71a35148e8b2cda42">vehicleBodyRotationUncertainty_</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">optional (size 3 or 0) <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>All the information needed to configure the driver. </p>
<p>The device itself has even more options, consult your manual. If all these possibilities don't seem to be sufficient, consult your friendly developer for extension (better yet, send a patch) The easiest way to get a valid (and useful) <a class="el" href="classgbxnovatelacfr_1_1Config.html" title="All the information needed to configure the driver.">Config</a>, is to initialise it with a <a class="el" href="classgbxnovatelacfr_1_1SimpleConfig.html" title="Minimum information to configure the receiver in INS mode.">SimpleConfig</a> (for INS operation) or <a class="el" href="classgbxnovatelacfr_1_1GpsOnlyConfig.html" title="Minimum information needed to configure the receiver in GPS only mode.">GpsOnlyConfig</a> (for GPS operation) </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac8cd4d8f54e0d11f564d4c81e3fd8aa9"></a><!-- doxytag: member="gbxnovatelacfr::Config::Config" ref="ac8cd4d8f54e0d11f564d4c81e3fd8aa9" args="(const SimpleConfig &amp;simpleCfg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gbxnovatelacfr::Config::Config </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgbxnovatelacfr_1_1SimpleConfig.html">SimpleConfig</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>simpleCfg</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Shortcut to set up a Configuration for INS operation. </p>
<p>yields a valid config, with reasonable defaults (RawImu 100Hz, InsPva 50Hz, BestGpsPos/Vel 5Hz) </p>

</div>
</div>
<a class="anchor" id="a87cdd72b4001dfb95a65d37a6ace3a66"></a><!-- doxytag: member="gbxnovatelacfr::Config::Config" ref="a87cdd72b4001dfb95a65d37a6ace3a66" args="(const GpsOnlyConfig &amp;gpsOnlyCfg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gbxnovatelacfr::Config::Config </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgbxnovatelacfr_1_1GpsOnlyConfig.html">GpsOnlyConfig</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>gpsOnlyCfg</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Shortcut to set up a Configuration for GPS operation. </p>
<p>yields a valid config, for gps only operation (BestGpsPos/Vel 20Hz) </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aed23241195e2570ec88fa7defe767aa0"></a><!-- doxytag: member="gbxnovatelacfr::Config::isValid" ref="aed23241195e2570ec88fa7defe767aa0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gbxnovatelacfr::Config::isValid </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the configuration is sane. </p>
<p>Checks include:</p>
<ul>
<li>a non-empty device name</li>
<li>baud rate is supported by device (9600, 19200, 38400, 57600, 115200, 230400)</li>
<li>imuType refers to a known type</li>
<li>offset has size 3</li>
<li>message rates are consistent and don't exceed serial-data-rate</li>
<li>not const, since it has limited self-fixing capabilities (for incorrect message-rates) </li>
</ul>

<p>References <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00146">dtGpsPos_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00147">dtGpsVel_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00145">dtInsPva_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00148">fixInvalidRateSettings_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00155">imuToGpsOffset_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00156">imuToGpsOffsetUncertainty_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00124">imuType_</a>, <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00158">insOffset_</a>, and <a class="el" href="gbxnovatelacfr_2driver_8h_source.html#l00184">vehicleBodyRotationUncertainty_</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a3a7eb49f73f9d72a1bce29e3fbb290ca"></a><!-- doxytag: member="gbxnovatelacfr::Config::imuType_" ref="a3a7eb49f73f9d72a1bce29e3fbb290ca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classgbxnovatelacfr_1_1Config.html#a3a7eb49f73f9d72a1bce29e3fbb290ca">gbxnovatelacfr::Config::imuType_</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>as expected by the "SETIMUTYPE" command (SPAN Technology for OEMV User Manual Rev 3, Table 15, page 64) </p>

<p>Referenced by <a class="el" href="gbxnovatelacfr_2driver_8cpp_source.html#l00641">isValid()</a>, and <a class="el" href="gbxnovatelacfr_2driver_8cpp_source.html#l00744">toString()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="gbxnovatelacfr_2driver_8h_source.html">gbxnovatelacfr/driver.h</a></li>
<li>gbxnovatelacfr/driver.cpp</li>
</ul>
</div>

            </td>
            <td colspan="1">&nbsp;</td>
         </tr>
        </table>
<!-- end of table -->

 <hr size="1"><address style="align: right;"><small>Generated for GearBox by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
</body>
</html>