Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 4077

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.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>mrpt::hwdrivers::CGPSInterface Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1hwdrivers.html">hwdrivers</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html">CGPSInterface</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::hwdrivers::CGPSInterface Class Reference<div class="ingroups"><a class="el" href="group__mrpt__hwdrivers__grp.html">[mrpt-hwdrivers]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::hwdrivers::CGPSInterface" --><!-- doxytag: inherits="mrpt::utils::CDebugOutputCapable,mrpt::hwdrivers::CGenericSensor" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A parser of NMEA commands, for connecting to a GPS by a serial port. </p>
<p>This class also supports more advanced GPS equipped with RTK corrections. See the JAVAD/TopCon extra initialization parameters.</p>
<div class="fragment"><pre class="fragment">  PARAMETERS IN THE <span class="stringliteral">&quot;.INI&quot;</span>-LIKE CONFIGURATION STRINGS:
 -------------------------------------------------------
   [supplied_section_name]
    COM_port_WIN = COM3
    COM_port_LIN = ttyS0
    baudRate     = 4800   <span class="comment">// The baudrate of the communications (typ. 4800 bauds)</span>
    pose_x       = 0      <span class="comment">// 3D position of the sensed point relative to the robot (meters)</span>
    pose_y       = 0
    pose_z       = 0
    customInit   =       <span class="comment">// See below for possible values</span>

           <span class="comment">// The next parameters are optional and will be used only</span>
    <span class="comment">// if customInit==&quot;JAVAD&quot; to enable/configure the usage of RTK corrections:</span>
    <span class="comment">//JAVAD_rtk_src_port=/dev/ser/b</span>
    <span class="comment">//JAVAD_rtk_src_baud=9600</span>
    <span class="comment">//JAVAD_rtk_format=cmr</span>
</pre></div><ul>
<li>customInit: Custom commands to send, depending on the sensor. Valid values are:<ul>
<li>"": Empty string</li>
<li>"JAVAD": JAVAD or TopCon devices. Extra initialization commands will be sent.</li>
<li>"TopCon": A synonymous with "JAVAD".</li>
</ul>
</li>
</ul>
<p>VERSIONS HISTORY: -9/JUN/2006: First version (JLBC) -4/JUN/2008: Added virtual methods for device-specific initialization commands. -10/JUN/2008: Converted into <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a> class (there are no inhirited classes anymore). </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_g_p_s_interface_8h_source.html">mrpt/hwdrivers/CGPSInterface.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::hwdrivers::CGPSInterface:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface__inherit__graph.png" border="0" usemap="#mrpt_1_1hwdrivers_1_1_c_g_p_s_interface_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1hwdrivers_1_1_c_g_p_s_interface_inherit__map" id="mrpt_1_1hwdrivers_1_1_c_g_p_s_interface_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html" title="This base class provides a common printf&#45;like method to send debug information to std::cout..." alt="" coords="5,80,227,107"/><area shape="rect" id="node4" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide&#45;variety of sensors designed to be used in the application RawLogGrabbe..." alt="" coords="252,80,468,107"/><area shape="rect" id="node6" href="classmrpt_1_1utils_1_1_c_uncopiable.html" title="The base class of classes that cannot be copied: compile&#45;time errors will be issued on any copy opera..." alt="" coords="279,5,441,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a> { <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2caba0e2689514dd41d48164e021013549a44">ssInitializing</a> =  0, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cabaacc62e94572e3cd3b4b08caad173a489">ssWorking</a>, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2caba8f76c8318736df85b6805ca460f8d262">ssError</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The current state of the sensor.  <a href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1multimap.html">std::multimap</a><br class="typebreak"/>
&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::pair<br class="typebreak"/>
&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a78712e0c40c510978fb8589774056ab3">TListObsPair</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a8487034960ef28df1dc7cfca4aa8bf6a">CGPSInterface</a> (int BUFFER_LENGTH=500, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">mrpt::hwdrivers::CSerialPort</a> *outPort=NULL, <a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> *csOutPort=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a8487034960ef28df1dc7cfca4aa8bf6a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#add096a1d8e4836ed28cdcbba42ec9e18">~CGPSInterface</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#add096a1d8e4836ed28cdcbba42ec9e18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aac152535cc1e9982ad415e64d18415c5">doProcess</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should be called periodically (at least at 1Hz to capture ALL the real-time data) It is thread safe, i.e.  <a href="#aac152535cc1e9982ad415e64d18415c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aa603fce1a45701a10b36dbe96c508ca3">isGPS_connected</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if communications work.  <a href="#aa603fce1a45701a10b36dbe96c508ca3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ad65f1390ac4dfccfb42913007f1dd221">isGPS_signalAcquired</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the last message from the GPS indicates that the signal from sats has been acquired.  <a href="#ad65f1390ac4dfccfb42913007f1dd221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#af825f545fc6055e63fb9a344305996f9">setSerialPortName</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;COM_port)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the serial port to use (COM1, ttyUSB0, etc).  <a href="#af825f545fc6055e63fb9a344305996f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#abf1e08d80e6bca418e0073c9fcc13d8a">getSerialPortName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the serial port to use (COM1, ttyUSB0, etc).  <a href="#abf1e08d80e6bca418e0073c9fcc13d8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a601d9c96b56a47382fa567a6dd99d0b7">setExternCOM</a> (<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">CSerialPort</a> *outPort, <a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> *csOutPort)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0e9daf7cd12efaf6600c938f1561965b">isAIMConfigured</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">mrpt::hwdrivers::TSensorClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afbc26c93b989d1a0cc94c0c88d47cdba">GetRuntimeClass</a> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a0bd667caedc6a313d96c232bf75ba577">getState</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The current state of the sensor.  <a href="#a0bd667caedc6a313d96c232bf75ba577"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a8a05c268aef7ecada94a0014a2b294f7">getProcessRate</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af3cd061ca684e7ddf5949ed78fced7c9">getSensorLabel</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a044c1340c4b90957250f63fa89189036">setSensorLabel</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;sensorLabel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a6f34c5b79a128d1cb6b47eaa987ecb51">loadConfig</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;configSource, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the generic settings common to any sensor (See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>), then call to "loadConfig_sensorSpecific" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method throws an exception with a descriptive message if some critical parameter is missing or has an invalid value. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a6f34c5b79a128d1cb6b47eaa987ecb51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a775782a8fef4c5cd11265024431ed8c3">initialize</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method can or cannot be implemented in the derived class, depending on the need for it.  <a href="#a775782a8fef4c5cd11265024431ed8c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a34b2a73792cbe176b28c932646bba0ed">getObservations</a> (<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a> &amp;lstObjects)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of enqueued objects, emptying it (thread-safe).  <a href="#a34b2a73792cbe176b28c932646bba0ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afa55ff06dbf360c8f631d371d6ebe35d">setPathForExternalImages</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;directory)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the path where to save off-rawlog image files (will be ignored in those sensors where this is not applicable).  <a href="#afa55ff06dbf360c8f631d371d6ebe35d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aff4b208b901763557196b9326901c582">setExternalImageFormat</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;ext)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the extension ("jpg","gif","png",...) that determines the format of images saved externally The default is "jpg".  <a href="#aff4b208b901763557196b9326901c582"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aca05f7ee991ee112b5e9f8f289a9ee94">setExternalImageJPEGQuality</a> (const unsigned int quality)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The quality of JPEG compression, when external images is enabled and the format is "jpg".  <a href="#aca05f7ee991ee112b5e9f8f289a9ee94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a9d5aecec9f302feede271c9f1425a323">getExternalImageJPEGQuality</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#ab78281b5d70d6e295a8527a10fea66de">printf_debug</a> (const char *frmt,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a formated text to "debugOut" if not NULL, or to cout otherwise.  <a href="#ab78281b5d70d6e295a8527a10fea66de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a640e1b953865c3d2e881bbd2c1a81428">registerClass</a> (const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">TSensorClassId</a> *pNewClass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a class into the internal list of "CGenericSensor" descendents.  <a href="#a640e1b953865c3d2e881bbd2c1a81428"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html">CGenericSensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab652d017225fff3050a607f4461b0484">createSensor</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;className)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a sensor by a name of the class.  <a href="#ab652d017225fff3050a607f4461b0484"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aff4e4450e420bf60a2487ab0cff91907">createSensorPtr</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;className)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Just like createSensor, but returning a smart pointer to the newly created sensor object.  <a href="#aff4e4450e420bf60a2487ab0cff91907"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a3c7e22c42755af02d61328b4f1920592">OnConnectionEstablished</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements custom messages to be sent to the GPS unit just after connection and before normal use.  <a href="#a3c7e22c42755af02d61328b4f1920592"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ae6040e96e295ba7878d16fd55a6a7948">loadConfig_sensorSpecific</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;configSource, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;iniSection)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads specific configuration for the device from a given source of configuration parameters, for example, an ".ini" file, loading from the section "[iniSection]" (see <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html" title="This class allows loading and storing values and vectors of different types from a configuration text...">utils::CConfigFileBase</a> and derived classes) See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html" title="A parser of NMEA commands, for connecting to a GPS by a serial port.">hwdrivers::CGPSInterface</a> for the possible parameters.  <a href="#ae6040e96e295ba7878d16fd55a6a7948"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a5b43db8944fd510f7b3f22bf47605353">setJAVAD_rtk_src_port</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If not empty, will send a cmd "set,/par/pos/pd/port,...".  <a href="#a5b43db8944fd510f7b3f22bf47605353"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a87938f2a18dc260f59e1950f0988656d">setJAVAD_rtk_src_baud</a> (unsigned int baud)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Only used when "m_JAVAD_rtk_src_port" is not empty.  <a href="#a87938f2a18dc260f59e1950f0988656d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aeda2cca3385d793e39ca5d4ce04cc437">setJAVAD_rtk_format</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Only used when "m_JAVAD_rtk_src_port" is not empty: format of RTK corrections: "cmr", "rtcm", "rtcm3", etc.  <a href="#aeda2cca3385d793e39ca5d4ce04cc437"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ae0f0c8201d568e1c1cac2a450d34fd39">setJAVAD_AIM_mode</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Advanced Input Mode for the primary port.  <a href="#ae0f0c8201d568e1c1cac2a450d34fd39"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aa8ec2fd633a15aa2e4502355dcbd42e4">unsetJAVAD_AIM_mode</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unset Advanced Input Mode for the primary port and use it only as a command port.  <a href="#aa8ec2fd633a15aa2e4502355dcbd42e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a07a11bec0da2b9f48b5d3808746ca4d5">useExternCOM</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ad3a33098f257c379ee6bd1bca24e45f9">appendObservations</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method must be called by derived classes to enqueue a new observation in the list to be returned by getObservations.  <a href="#ad3a33098f257c379ee6bd1bca24e45f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a03bf6784838d6418f4fe485933a1ab0c">appendObservation</a> (const <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ad3a33098f257c379ee6bd1bca24e45f9" title="This method must be called by derived classes to enqueue a new observation in the list to be returned...">appendObservations()</a> but for just one observation.  <a href="#a03bf6784838d6418f4fe485933a1ab0c"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">CSerialPort</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ac84eb9fb89f2fcdc797ada4336797dd4">m_COM</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">CSerialPort</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ac0e472ef71062eb74ef626e0dab90810">m_out_COM</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aa3da637bd6aa519f6f42c3638de2a671">m_cs_out_COM</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">poses::CPoint3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a2b22c06d26d76a25b748da85aa86eb09">m_sensorPose</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aec1708aee4f9d018a8a466eace1af792">m_customInit</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a564a6c2bc7f1baaea9a9d90112a7b376">m_grab_decimation_counter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Used when "m_grab_decimation" is enabled.  <a href="#a564a6c2bc7f1baaea9a9d90112a7b376"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab3e8a003783acd03bfd64716640fd67c">m_state</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a06fe84426b813b9c1966c12bb69e6ee6">m_path_for_external_images</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The path where to save off-rawlog images: empty means save images embedded in the rawlog.  <a href="#a06fe84426b813b9c1966c12bb69e6ee6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a7d153c5247b0180b6b9df5054d67b183">m_external_images_format</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The extension ("jpg","gif","png",...) that determines the format of images saved externally.  <a href="#a7d153c5247b0180b6b9df5054d67b183"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aeac331931fce4890793cd7f1b5f6eb3e">m_external_images_jpeg_quality</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">For JPEG images, the quality (default=95%).  <a href="#aeac331931fce4890793cd7f1b5f6eb3e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Common settings to any sensor, loaded in "loadConfig"</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a77094b791971e8f42b94de34f4adb0f7">m_process_rate</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>.  <a href="#a77094b791971e8f42b94de34f4adb0f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a6f35448579bd4d27cd4f4685b31a8cc0">m_max_queue_len</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>.  <a href="#a6f35448579bd4d27cd4f4685b31a8cc0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a587daaab2cb302eb4cc72eb1396d5f21">m_grab_decimation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If set to N&gt;=2, only 1 out of N observations will be saved to m_objList.  <a href="#a587daaab2cb302eb4cc72eb1396d5f21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#accd4de8daeb5966c191fbc62a5d90355">m_sensorLabel</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>.  <a href="#accd4de8daeb5966c191fbc62a5d90355"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a3b944b5c1e4f88ab0e8809d4b5fcb688">tryToOpenTheCOM</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the COM port is already open, or try to open it in other case.  <a href="#a3b944b5c1e4f88ab0e8809d4b5fcb688"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aa10cd76db33f56cd652d3a8e11f96a82">processBuffer</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Process data in "m_buffer" to extract GPS messages, and remove them from the buffer.  <a href="#aa10cd76db33f56cd652d3a8e11f96a82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0d236791d443d4f80958ef2df78c37bb">processGPSstring</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a complete string from the GPS:  <a href="#a0d236791d443d4f80958ef2df78c37bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a254ddf87913583757765015e96dcccb0">getNextToken</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;str, <a class="el" href="classstd_1_1string.html">std::string</a> &amp;token, unsigned int &amp;parserPos)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tokenize a string "str" into commas separated tokens.  <a href="#a254ddf87913583757765015e96dcccb0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a1c1c486254e0d01e59ef602943c7fa4d">JAVAD_sendMessage</a> (const char *str, bool waitForAnswer=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Private auxiliary method. Raises exception on error.  <a href="#a1c1c486254e0d01e59ef602943c7fa4d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ab2d47e28c94e236546ee8e6ea65b1425">m_COMname</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ad5c2665662f4b5ce20b19a3004cca1c6">m_COMbauds</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a9ec45fee0313bc2275a0b895d63958ed">m_GPS_comsWork</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a9341f42d1b45733bd0b702b2c9eee1c7">m_GPS_signalAcquired</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0e5bd00e243b6fd688f1a1d22405c518">m_BUFFER_LENGTH</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a5e9dbecb9f4e7b755e0b337a106af134">m_buffer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ab8913ed824166bc3342e6cd384f7f682">m_bufferLength</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a7a792c510be101c054ea39fdbec595c6">m_bufferWritePos</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a980fcdfaa54f477ce1e7bf8c2dc31155">m_JAVAD_rtk_src_port</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If not empty, will send a cmd "set,/par/pos/pd/port,...". Example value: "/dev/ser/b".  <a href="#a980fcdfaa54f477ce1e7bf8c2dc31155"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0b6f9f849294dd8195b61f7a246efea4">m_JAVAD_rtk_src_baud</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Only used when "m_JAVAD_rtk_src_port" is not empty.  <a href="#a0b6f9f849294dd8195b61f7a246efea4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a07c4648bbb6caebea8f2286abec4731d">m_JAVAD_rtk_format</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Only used when "m_JAVAD_rtk_src_port" is not empty: format of RTK corrections: "cmr", "rtcm", "rtcm3", etc.  <a href="#a07c4648bbb6caebea8f2286abec4731d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a2b4c1d2484961c4fb2ad2b8a17e191e1">m_useAIMMode</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Use this mode for receive RTK corrections from a external source through the primary port.  <a href="#a2b4c1d2484961c4fb2ad2b8a17e191e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">TTimeStamp&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a796d034ec097472929d7b093ca60014e">m_last_timestamp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a2d9b1a6e7c3dd7f10a8c73ddbfeb3a9e">m_AIMConfigured</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates if the AIM has been properly set up.  <a href="#a2d9b1a6e7c3dd7f10a8c73ddbfeb3a9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0b555875bed9e3d3b80cd8c181ce01e9">m_data_period</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The period in seconds which the data should be provided by the GPS.  <a href="#a0b555875bed9e3d3b80cd8c181ce01e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html">mrpt::slam::CObservationGPS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a5a32e41bdc19e1255a9852afcb0e713f">m_latestGPS_data</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_g_p_s_1_1_t_u_t_c_time.html">mrpt::slam::CObservationGPS::TUTCTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a3e438e9d0ddae4a41977f2d3680e5c41">m_last_UTC_time</a></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="af237beee1de7f3e5733e305921695b30"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::TListObservations" ref="af237beee1de7f3e5733e305921695b30" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1multimap.html">std::multimap</a>&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">mrpt::hwdrivers::CGenericSensor::TListObservations</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00084">84</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a78712e0c40c510978fb8589774056ab3"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::TListObsPair" ref="a78712e0c40c510978fb8589774056ab3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::pair&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a78712e0c40c510978fb8589774056ab3">mrpt::hwdrivers::CGenericSensor::TListObsPair</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00085">85</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2cab"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::TSensorState" ref="a44262a8f1ffcc87871fbd717d3fc2cab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">mrpt::hwdrivers::CGenericSensor::TSensorState</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The current state of the sensor. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a0bd667caedc6a313d96c232bf75ba577" title="The current state of the sensor.">CGenericSensor::getState</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2caba0e2689514dd41d48164e021013549a44"></a><!-- doxytag: member="ssInitializing" ref="a44262a8f1ffcc87871fbd717d3fc2caba0e2689514dd41d48164e021013549a44" args="" -->ssInitializing</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2cabaacc62e94572e3cd3b4b08caad173a489"></a><!-- doxytag: member="ssWorking" ref="a44262a8f1ffcc87871fbd717d3fc2cabaacc62e94572e3cd3b4b08caad173a489" args="" -->ssWorking</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2caba8f76c8318736df85b6805ca460f8d262"></a><!-- doxytag: member="ssError" ref="a44262a8f1ffcc87871fbd717d3fc2caba8f76c8318736df85b6805ca460f8d262" args="" -->ssError</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00090">90</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8487034960ef28df1dc7cfca4aa8bf6a"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::CGPSInterface" ref="a8487034960ef28df1dc7cfca4aa8bf6a" args="(int BUFFER_LENGTH=500, mrpt::hwdrivers::CSerialPort *outPort=NULL, mrpt::synch::CCriticalSection *csOutPort=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::hwdrivers::CGPSInterface::CGPSInterface </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>BUFFER_LENGTH</em> = <code>500</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">mrpt::hwdrivers::CSerialPort</a> *&#160;</td>
          <td class="paramname"><em>outPort</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> *&#160;</td>
          <td class="paramname"><em>csOutPort</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">BUFFER_LENGTH</td><td>The size of the communications buffer (default value should be fine always) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="add096a1d8e4836ed28cdcbba42ec9e18"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::~CGPSInterface" ref="add096a1d8e4836ed28cdcbba42ec9e18" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::hwdrivers::CGPSInterface::~CGPSInterface </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a03bf6784838d6418f4fe485933a1ab0c"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::appendObservation" ref="a03bf6784838d6418f4fe485933a1ab0c" args="(const mrpt::utils::CSerializablePtr &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::appendObservation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td><code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ad3a33098f257c379ee6bd1bca24e45f9" title="This method must be called by derived classes to enqueue a new observation in the list to be returned...">appendObservations()</a> but for just one observation. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00155">155</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad3a33098f257c379ee6bd1bca24e45f9"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::appendObservations" ref="ad3a33098f257c379ee6bd1bca24e45f9" args="(const std::vector&lt; mrpt::utils::CSerializablePtr &gt; &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::appendObservations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method must be called by derived classes to enqueue a new observation in the list to be returned by getObservations. </p>
<p>Passed objects must be created in dynamic memory and a smart pointer passed. Example of creation: </p>
<div class="fragment"><pre class="fragment">                                CObservationGPSPtr  o = CObservationGPSPtr( <span class="keyword">new</span> CObservationGPS() );
                                o-&gt; .... <span class="comment">// Set data</span>
                                <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a03bf6784838d6418f4fe485933a1ab0c" title="Like appendObservations() but for just one observation.">appendObservation</a>(o);
</pre></div><p> If several observations are passed at once in the vector, they'll be considered as a block regarding the grabbing decimation factor. </p>

</div>
</div>
<a class="anchor" id="ab652d017225fff3050a607f4461b0484"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::createSensor" ref="ab652d017225fff3050a607f4461b0484" args="(const std::string &amp;className)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html">CGenericSensor</a>* mrpt::hwdrivers::CGenericSensor::createSensor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>className</em></td><td>)</td>
          <td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a sensor by a name of the class. </p>
<p>Typically the user may want to create a smart pointer around the returned pointer, whis is made with: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a> sensor = <a class="code" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a>( <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab652d017225fff3050a607f4461b0484" title="Creates a sensor by a name of the class.">CGenericSensor::createSensor</a>(<span class="stringliteral">&quot;XXX&quot;</span>) );
</pre></div> <dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to a new class, or NULL if class name is unknown. </dd></dl>

</div>
</div>
<a class="anchor" id="aff4e4450e420bf60a2487ab0cff91907"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::createSensorPtr" ref="aff4e4450e420bf60a2487ab0cff91907" args="(const std::string &amp;className)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a> mrpt::hwdrivers::CGenericSensor::createSensorPtr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>className</em></td><td>)</td>
          <td><code> [inline, static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Just like createSensor, but returning a smart pointer to the newly created sensor object. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00188">188</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aac152535cc1e9982ad415e64d18415c5"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::doProcess" ref="aac152535cc1e9982ad415e64d18415c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::doProcess </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method should be called periodically (at least at 1Hz to capture ALL the real-time data) It is thread safe, i.e. </p>
<p>you can call this from one thread, then to other methods from other threads. This method processes data from the GPS and update the object state accordingly. </p>

<p>Implements <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a4f02ae5d7a345819f2521f72b633ab51">mrpt::hwdrivers::CGenericSensor</a>.</p>

</div>
</div>
<a class="anchor" id="a9d5aecec9f302feede271c9f1425a323"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getExternalImageJPEGQuality" ref="a9d5aecec9f302feede271c9f1425a323" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int mrpt::hwdrivers::CGenericSensor::getExternalImageJPEGQuality </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00241">241</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a254ddf87913583757765015e96dcccb0"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getNextToken" ref="a254ddf87913583757765015e96dcccb0" args="(const std::string &amp;str, std::string &amp;token, unsigned int &amp;parserPos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::getNextToken </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int &amp;&#160;</td>
          <td class="paramname"><em>parserPos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tokenize a string "str" into commas separated tokens. </p>

</div>
</div>
<a class="anchor" id="a34b2a73792cbe176b28c932646bba0ed"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getObservations" ref="a34b2a73792cbe176b28c932646bba0ed" args="(TListObservations &amp;lstObjects)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::getObservations </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a> &amp;&#160;</td>
          <td class="paramname"><em>lstObjects</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a list of enqueued objects, emptying it (thread-safe). </p>
<p>The objects must be freed by the invoker. </p>

</div>
</div>
<a class="anchor" id="a8a05c268aef7ecada94a0014a2b294f7"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getProcessRate" ref="a8a05c268aef7ecada94a0014a2b294f7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::hwdrivers::CGenericSensor::getProcessRate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00100">100</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="afbc26c93b989d1a0cc94c0c88d47cdba"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::GetRuntimeClass" ref="afbc26c93b989d1a0cc94c0c88d47cdba" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">mrpt::hwdrivers::TSensorClassId</a>* mrpt::hwdrivers::CGenericSensor::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af3cd061ca684e7ddf5949ed78fced7c9"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getSensorLabel" ref="af3cd061ca684e7ddf5949ed78fced7c9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::hwdrivers::CGenericSensor::getSensorLabel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00102">102</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="abf1e08d80e6bca418e0073c9fcc13d8a"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getSerialPortName" ref="abf1e08d80e6bca418e0073c9fcc13d8a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::hwdrivers::CGPSInterface::getSerialPortName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the serial port to use (COM1, ttyUSB0, etc). </p>

</div>
</div>
<a class="anchor" id="a0bd667caedc6a313d96c232bf75ba577"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::getState" ref="a0bd667caedc6a313d96c232bf75ba577" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a> mrpt::hwdrivers::CGenericSensor::getState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The current state of the sensor. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00098">98</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a775782a8fef4c5cd11265024431ed8c3"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::initialize" ref="a775782a8fef4c5cd11265024431ed8c3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::hwdrivers::CGenericSensor::initialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method can or cannot be implemented in the derived class, depending on the need for it. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method must throw an exception with a descriptive message if some critical error is found. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_kinect.html#ab369f01d9b65a53910442ae3da04bbcf">mrpt::hwdrivers::CKinect</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ab6c7443ec4fc700a10d3f7840ef22f01">mrpt::hwdrivers::CCameraSensor</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_sick_laser_serial.html#a4074cd3efda8a33671353fd357d46f43">mrpt::hwdrivers::CSickLaserSerial</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_ptu_hokuyo.html#a0adb0eea57c2260c11004984fc0e3202">mrpt::hwdrivers::CPtuHokuyo</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_hokuyo_u_r_g.html#aa59ba12bc09efa95df4e84b8b0982bca">mrpt::hwdrivers::CHokuyoURG</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_board_e_noses.html#a48867ea4696d2c8d73b3334c37e7fe4f">mrpt::hwdrivers::CBoardENoses</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_gyro_k_v_h_d_s_p3000.html#a022462e21648c8cb02a80bee3d397ef4">mrpt::hwdrivers::CGyroKVHDSP3000</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_l_m_s100_eth.html#ae57ec60cca05cb6c21475821a160297a">mrpt::hwdrivers::CLMS100Eth</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_board_d_l_m_s.html#aaf906fe3a1cebfe42ca82281a8315139">mrpt::hwdrivers::CBoardDLMS</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_swiss_ranger3_d_camera.html#a480bd45081d7c56bfe425acda4488a97">mrpt::hwdrivers::CSwissRanger3DCamera</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_i_m_u_x_sens.html#abb9c183575154bdf75587703f18990d6">mrpt::hwdrivers::CIMUXSens</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_phidget_interface_kit_proximity_sensors.html#ac4953fcec4eb353c66683e69fe4b1fb7">mrpt::hwdrivers::CPhidgetInterfaceKitProximitySensors</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_emitter.html#ab7dea7c6896e6b72744a1fdabd508779">mrpt::hwdrivers::CNTRIPEmitter</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_activ_media_robot_base.html#abdebc0341c7eb478a84ea859c15e9997">mrpt::hwdrivers::CActivMediaRobotBase</a>, and <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_ibeo_lux_e_t_h.html#a5b582dff2d7025a951578256de57420a">mrpt::hwdrivers::CIbeoLuxETH</a>.</p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00209">209</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0e9daf7cd12efaf6600c938f1561965b"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::isAIMConfigured" ref="a0e9daf7cd12efaf6600c938f1561965b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::isAIMConfigured </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00116">116</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa603fce1a45701a10b36dbe96c508ca3"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::isGPS_connected" ref="aa603fce1a45701a10b36dbe96c508ca3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::isGPS_connected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if communications work. </p>

</div>
</div>
<a class="anchor" id="ad65f1390ac4dfccfb42913007f1dd221"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::isGPS_signalAcquired" ref="ad65f1390ac4dfccfb42913007f1dd221" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::isGPS_signalAcquired </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the last message from the GPS indicates that the signal from sats has been acquired. </p>

</div>
</div>
<a class="anchor" id="a1c1c486254e0d01e59ef602943c7fa4d"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::JAVAD_sendMessage" ref="a1c1c486254e0d01e59ef602943c7fa4d" args="(const char *str, bool waitForAnswer=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::JAVAD_sendMessage </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>waitForAnswer</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Private auxiliary method. Raises exception on error. </p>

</div>
</div>
<a class="anchor" id="a6f34c5b79a128d1cb6b47eaa987ecb51"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::loadConfig" ref="a6f34c5b79a128d1cb6b47eaa987ecb51" args="(const mrpt::utils::CConfigFileBase &amp;configSource, const std::string &amp;section)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::loadConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>configSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Loads the generic settings common to any sensor (See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>), then call to "loadConfig_sensorSpecific" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method throws an exception with a descriptive message if some critical parameter is missing or has an invalid value. </td></tr>
  </table>
  </dd>
</dl>
</p>

</div>
</div>
<a class="anchor" id="ae6040e96e295ba7878d16fd55a6a7948"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::loadConfig_sensorSpecific" ref="ae6040e96e295ba7878d16fd55a6a7948" args="(const mrpt::utils::CConfigFileBase &amp;configSource, const std::string &amp;iniSection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::loadConfig_sensorSpecific </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>configSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>iniSection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Loads specific configuration for the device from a given source of configuration parameters, for example, an ".ini" file, loading from the section "[iniSection]" (see <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html" title="This class allows loading and storing values and vectors of different types from a configuration text...">utils::CConfigFileBase</a> and derived classes) See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html" title="A parser of NMEA commands, for connecting to a GPS by a serial port.">hwdrivers::CGPSInterface</a> for the possible parameters. </p>

<p>Implements <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ac867f9cb46c72b4386a5488f171f178f">mrpt::hwdrivers::CGenericSensor</a>.</p>

</div>
</div>
<a class="anchor" id="a3c7e22c42755af02d61328b4f1920592"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::OnConnectionEstablished" ref="a3c7e22c42755af02d61328b4f1920592" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::OnConnectionEstablished </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Implements custom messages to be sent to the GPS unit just after connection and before normal use. </p>
<p>Returns false or raise an exception if something goes wrong. </p>

</div>
</div>
<a class="anchor" id="ab78281b5d70d6e295a8527a10fea66de"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::printf_debug" ref="ab78281b5d70d6e295a8527a10fea66de" args="(const char *frmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::utils::CDebugOutputCapable::printf_debug </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>frmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sends a formated text to "debugOut" if not NULL, or to cout otherwise. </p>

<p>Referenced by <a class="el" href="_c_levenberg_marquardt_8h_source.html#l00098">mrpt::math::CLevenbergMarquardtTempl::execute()</a>.</p>

</div>
</div>
<a class="anchor" id="aa10cd76db33f56cd652d3a8e11f96a82"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::processBuffer" ref="aa10cd76db33f56cd652d3a8e11f96a82" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::processBuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process data in "m_buffer" to extract GPS messages, and remove them from the buffer. </p>

</div>
</div>
<a class="anchor" id="a0d236791d443d4f80958ef2df78c37bb"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::processGPSstring" ref="a0d236791d443d4f80958ef2df78c37bb" args="(const std::string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::processGPSstring </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process a complete string from the GPS: </p>

</div>
</div>
<a class="anchor" id="a640e1b953865c3d2e881bbd2c1a81428"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::registerClass" ref="a640e1b953865c3d2e881bbd2c1a81428" args="(const TSensorClassId *pNewClass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::hwdrivers::CGenericSensor::registerClass </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">TSensorClassId</a> *&#160;</td>
          <td class="paramname"><em>pNewClass</em></td><td>)</td>
          <td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register a class into the internal list of "CGenericSensor" descendents. </p>
<p>Used internally in the macros DEFINE_GENERIC_SENSOR, etc...</p>
<p>Can be used as "CGenericSensor::registerClass( SENSOR_CLASS_ID(CMySensor) );" if building custom sensors outside mrpt libraries in user code. </p>

</div>
</div>
<a class="anchor" id="aff4b208b901763557196b9326901c582"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setExternalImageFormat" ref="aff4b208b901763557196b9326901c582" args="(const std::string &amp;ext)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::setExternalImageFormat </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>ext</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the extension ("jpg","gif","png",...) that determines the format of images saved externally The default is "jpg". </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afa55ff06dbf360c8f631d371d6ebe35d" title="Set the path where to save off-rawlog image files (will be ignored in those sensors where this is not...">setPathForExternalImages</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aca05f7ee991ee112b5e9f8f289a9ee94" title="The quality of JPEG compression, when external images is enabled and the format is &quot;jpg&quot;...">setExternalImageJPEGQuality</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00233">233</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aca05f7ee991ee112b5e9f8f289a9ee94"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setExternalImageJPEGQuality" ref="aca05f7ee991ee112b5e9f8f289a9ee94" args="(const unsigned int quality)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::setExternalImageJPEGQuality </td>
          <td>(</td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>quality</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The quality of JPEG compression, when external images is enabled and the format is "jpg". </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aff4b208b901763557196b9326901c582" title="Set the extension (&quot;jpg&quot;,&quot;gif&quot;,&quot;png&quot;,...) that determines the format of images saved externally The d...">setExternalImageFormat</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00238">238</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a601d9c96b56a47382fa567a6dd99d0b7"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setExternCOM" ref="a601d9c96b56a47382fa567a6dd99d0b7" args="(CSerialPort *outPort, mrpt::synch::CCriticalSection *csOutPort)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::setExternCOM </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">CSerialPort</a> *&#160;</td>
          <td class="paramname"><em>outPort</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> *&#160;</td>
          <td class="paramname"><em>csOutPort</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00113">113</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae0f0c8201d568e1c1cac2a450d34fd39"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setJAVAD_AIM_mode" ref="ae0f0c8201d568e1c1cac2a450d34fd39" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::setJAVAD_AIM_mode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set Advanced Input Mode for the primary port. </p>
<p>This can be used to send RTK corrections to the device using the same port that it's used for the commands. The RTK correction stream must be re-packaged into a special frame with prefix "&gt;&gt;" </p>

</div>
</div>
<a class="anchor" id="aeda2cca3385d793e39ca5d4ce04cc437"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setJAVAD_rtk_format" ref="aeda2cca3385d793e39ca5d4ce04cc437" args="(const std::string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::setJAVAD_rtk_format </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Only used when "m_JAVAD_rtk_src_port" is not empty: format of RTK corrections: "cmr", "rtcm", "rtcm3", etc. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00149">149</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a87938f2a18dc260f59e1950f0988656d"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setJAVAD_rtk_src_baud" ref="a87938f2a18dc260f59e1950f0988656d" args="(unsigned int baud)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::setJAVAD_rtk_src_baud </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>baud</em></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Only used when "m_JAVAD_rtk_src_port" is not empty. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00146">146</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5b43db8944fd510f7b3f22bf47605353"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setJAVAD_rtk_src_port" ref="a5b43db8944fd510f7b3f22bf47605353" args="(const std::string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::setJAVAD_rtk_src_port </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If not empty, will send a cmd "set,/par/pos/pd/port,...". </p>
<p>Example value: "/dev/ser/b" </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00143">143</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="afa55ff06dbf360c8f631d371d6ebe35d"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setPathForExternalImages" ref="afa55ff06dbf360c8f631d371d6ebe35d" args="(const std::string &amp;directory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::hwdrivers::CGenericSensor::setPathForExternalImages </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>directory</em></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the path where to save off-rawlog image files (will be ignored in those sensors where this is not applicable). </p>
<p>An empty string (the default value at construction) means to save images embedded in the rawlog, instead of on separate files. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the directory doesn't exists and cannot be created. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_kinect.html#af1eb1294ff0693595f46c26ede24d115">mrpt::hwdrivers::CKinect</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a8cc198b85399850d439eda47d832bc8d">mrpt::hwdrivers::CCameraSensor</a>, and <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_swiss_ranger3_d_camera.html#a7392e6fb7a5720f0cbfa6dd02b7ec439">mrpt::hwdrivers::CSwissRanger3DCamera</a>.</p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00225">225</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a044c1340c4b90957250f63fa89189036"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setSensorLabel" ref="a044c1340c4b90957250f63fa89189036" args="(const std::string &amp;sensorLabel)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::setSensorLabel </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>sensorLabel</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00103">103</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="af825f545fc6055e63fb9a344305996f9"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::setSerialPortName" ref="af825f545fc6055e63fb9a344305996f9" args="(const std::string &amp;COM_port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGPSInterface::setSerialPortName </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>COM_port</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the serial port to use (COM1, ttyUSB0, etc). </p>

</div>
</div>
<a class="anchor" id="a3b944b5c1e4f88ab0e8809d4b5fcb688"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::tryToOpenTheCOM" ref="a3b944b5c1e4f88ab0e8809d4b5fcb688" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::tryToOpenTheCOM </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the COM port is already open, or try to open it in other case. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if everything goes OK, or false if there are problems opening the port. </dd></dl>

</div>
</div>
<a class="anchor" id="aa8ec2fd633a15aa2e4502355dcbd42e4"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::unsetJAVAD_AIM_mode" ref="aa8ec2fd633a15aa2e4502355dcbd42e4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::unsetJAVAD_AIM_mode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unset Advanced Input Mode for the primary port and use it only as a command port. </p>

</div>
</div>
<a class="anchor" id="a07a11bec0da2b9f48b5d3808746ca4d5"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::useExternCOM" ref="a07a11bec0da2b9f48b5d3808746ca4d5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CGPSInterface::useExternCOM </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00160">160</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a2d9b1a6e7c3dd7f10a8c73ddbfeb3a9e"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_AIMConfigured" ref="a2d9b1a6e7c3dd7f10a8c73ddbfeb3a9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a2d9b1a6e7c3dd7f10a8c73ddbfeb3a9e">mrpt::hwdrivers::CGPSInterface::m_AIMConfigured</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Indicates if the AIM has been properly set up. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00184">184</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5e9dbecb9f4e7b755e0b337a106af134"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_buffer" ref="a5e9dbecb9f4e7b755e0b337a106af134" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a5e9dbecb9f4e7b755e0b337a106af134">mrpt::hwdrivers::CGPSInterface::m_buffer</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00170">170</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0e5bd00e243b6fd688f1a1d22405c518"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_BUFFER_LENGTH" ref="a0e5bd00e243b6fd688f1a1d22405c518" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0e5bd00e243b6fd688f1a1d22405c518">mrpt::hwdrivers::CGPSInterface::m_BUFFER_LENGTH</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00168">168</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab8913ed824166bc3342e6cd384f7f682"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_bufferLength" ref="ab8913ed824166bc3342e6cd384f7f682" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ab8913ed824166bc3342e6cd384f7f682">mrpt::hwdrivers::CGPSInterface::m_bufferLength</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00171">171</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7a792c510be101c054ea39fdbec595c6"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_bufferWritePos" ref="a7a792c510be101c054ea39fdbec595c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a7a792c510be101c054ea39fdbec595c6">mrpt::hwdrivers::CGPSInterface::m_bufferWritePos</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00172">172</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac84eb9fb89f2fcdc797ada4336797dd4"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_COM" ref="ac84eb9fb89f2fcdc797ada4336797dd4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">CSerialPort</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ac84eb9fb89f2fcdc797ada4336797dd4">mrpt::hwdrivers::CGPSInterface::m_COM</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00124">124</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad5c2665662f4b5ce20b19a3004cca1c6"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_COMbauds" ref="ad5c2665662f4b5ce20b19a3004cca1c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ad5c2665662f4b5ce20b19a3004cca1c6">mrpt::hwdrivers::CGPSInterface::m_COMbauds</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00165">165</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab2d47e28c94e236546ee8e6ea65b1425"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_COMname" ref="ab2d47e28c94e236546ee8e6ea65b1425" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ab2d47e28c94e236546ee8e6ea65b1425">mrpt::hwdrivers::CGPSInterface::m_COMname</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00164">164</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa3da637bd6aa519f6f42c3638de2a671"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_cs_out_COM" ref="aa3da637bd6aa519f6f42c3638de2a671" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aa3da637bd6aa519f6f42c3638de2a671">mrpt::hwdrivers::CGPSInterface::m_cs_out_COM</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00128">128</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="aec1708aee4f9d018a8a466eace1af792"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_customInit" ref="aec1708aee4f9d018a8a466eace1af792" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#aec1708aee4f9d018a8a466eace1af792">mrpt::hwdrivers::CGPSInterface::m_customInit</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00133">133</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b555875bed9e3d3b80cd8c181ce01e9"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_data_period" ref="a0b555875bed9e3d3b80cd8c181ce01e9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0b555875bed9e3d3b80cd8c181ce01e9">mrpt::hwdrivers::CGPSInterface::m_data_period</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The period in seconds which the data should be provided by the GPS. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00185">185</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d153c5247b0180b6b9df5054d67b183"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_external_images_format" ref="a7d153c5247b0180b6b9df5054d67b183" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a7d153c5247b0180b6b9df5054d67b183">mrpt::hwdrivers::CGenericSensor::m_external_images_format</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The extension ("jpg","gif","png",...) that determines the format of images saved externally. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afa55ff06dbf360c8f631d371d6ebe35d" title="Set the path where to save off-rawlog image files (will be ignored in those sensors where this is not...">setPathForExternalImages</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00139">139</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeac331931fce4890793cd7f1b5f6eb3e"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_external_images_jpeg_quality" ref="aeac331931fce4890793cd7f1b5f6eb3e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aeac331931fce4890793cd7f1b5f6eb3e">mrpt::hwdrivers::CGenericSensor::m_external_images_jpeg_quality</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>For JPEG images, the quality (default=95%). </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00140">140</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9ec45fee0313bc2275a0b895d63958ed"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_GPS_comsWork" ref="a9ec45fee0313bc2275a0b895d63958ed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a9ec45fee0313bc2275a0b895d63958ed">mrpt::hwdrivers::CGPSInterface::m_GPS_comsWork</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00166">166</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9341f42d1b45733bd0b702b2c9eee1c7"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_GPS_signalAcquired" ref="a9341f42d1b45733bd0b702b2c9eee1c7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a9341f42d1b45733bd0b702b2c9eee1c7">mrpt::hwdrivers::CGPSInterface::m_GPS_signalAcquired</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00167">167</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a587daaab2cb302eb4cc72eb1396d5f21"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_grab_decimation" ref="a587daaab2cb302eb4cc72eb1396d5f21" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a587daaab2cb302eb4cc72eb1396d5f21">mrpt::hwdrivers::CGenericSensor::m_grab_decimation</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If set to N&gt;=2, only 1 out of N observations will be saved to m_objList. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00127">127</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a564a6c2bc7f1baaea9a9d90112a7b376"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_grab_decimation_counter" ref="a564a6c2bc7f1baaea9a9d90112a7b376" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a564a6c2bc7f1baaea9a9d90112a7b376">mrpt::hwdrivers::CGenericSensor::m_grab_decimation_counter</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Used when "m_grab_decimation" is enabled. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00132">132</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a07c4648bbb6caebea8f2286abec4731d"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_JAVAD_rtk_format" ref="a07c4648bbb6caebea8f2286abec4731d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a07c4648bbb6caebea8f2286abec4731d">mrpt::hwdrivers::CGPSInterface::m_JAVAD_rtk_format</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Only used when "m_JAVAD_rtk_src_port" is not empty: format of RTK corrections: "cmr", "rtcm", "rtcm3", etc. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00176">176</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b6f9f849294dd8195b61f7a246efea4"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_JAVAD_rtk_src_baud" ref="a0b6f9f849294dd8195b61f7a246efea4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a0b6f9f849294dd8195b61f7a246efea4">mrpt::hwdrivers::CGPSInterface::m_JAVAD_rtk_src_baud</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Only used when "m_JAVAD_rtk_src_port" is not empty. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00175">175</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a980fcdfaa54f477ce1e7bf8c2dc31155"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_JAVAD_rtk_src_port" ref="a980fcdfaa54f477ce1e7bf8c2dc31155" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a980fcdfaa54f477ce1e7bf8c2dc31155">mrpt::hwdrivers::CGPSInterface::m_JAVAD_rtk_src_port</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If not empty, will send a cmd "set,/par/pos/pd/port,...". Example value: "/dev/ser/b". </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00174">174</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a796d034ec097472929d7b093ca60014e"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_last_timestamp" ref="a796d034ec097472929d7b093ca60014e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TTimeStamp <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a796d034ec097472929d7b093ca60014e">mrpt::hwdrivers::CGPSInterface::m_last_timestamp</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00181">181</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3e438e9d0ddae4a41977f2d3680e5c41"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_last_UTC_time" ref="a3e438e9d0ddae4a41977f2d3680e5c41" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_g_p_s_1_1_t_u_t_c_time.html">mrpt::slam::CObservationGPS::TUTCTime</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a3e438e9d0ddae4a41977f2d3680e5c41">mrpt::hwdrivers::CGPSInterface::m_last_UTC_time</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00211">211</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5a32e41bdc19e1255a9852afcb0e713f"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_latestGPS_data" ref="a5a32e41bdc19e1255a9852afcb0e713f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_observation_g_p_s.html">mrpt::slam::CObservationGPS</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a5a32e41bdc19e1255a9852afcb0e713f">mrpt::hwdrivers::CGPSInterface::m_latestGPS_data</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00210">210</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6f35448579bd4d27cd4f4685b31a8cc0"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_max_queue_len" ref="a6f35448579bd4d27cd4f4685b31a8cc0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a6f35448579bd4d27cd4f4685b31a8cc0">mrpt::hwdrivers::CGenericSensor::m_max_queue_len</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00126">126</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac0e472ef71062eb74ef626e0dab90810"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_out_COM" ref="ac0e472ef71062eb74ef626e0dab90810" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_serial_port.html">CSerialPort</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#ac0e472ef71062eb74ef626e0dab90810">mrpt::hwdrivers::CGPSInterface::m_out_COM</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00127">127</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="a06fe84426b813b9c1966c12bb69e6ee6"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_path_for_external_images" ref="a06fe84426b813b9c1966c12bb69e6ee6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a06fe84426b813b9c1966c12bb69e6ee6">mrpt::hwdrivers::CGenericSensor::m_path_for_external_images</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The path where to save off-rawlog images: empty means save images embedded in the rawlog. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00138">138</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a77094b791971e8f42b94de34f4adb0f7"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_process_rate" ref="a77094b791971e8f42b94de34f4adb0f7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a77094b791971e8f42b94de34f4adb0f7">mrpt::hwdrivers::CGenericSensor::m_process_rate</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00125">125</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="accd4de8daeb5966c191fbc62a5d90355"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_sensorLabel" ref="accd4de8daeb5966c191fbc62a5d90355" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#accd4de8daeb5966c191fbc62a5d90355">mrpt::hwdrivers::CGenericSensor::m_sensorLabel</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00128">128</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2b22c06d26d76a25b748da85aa86eb09"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_sensorPose" ref="a2b22c06d26d76a25b748da85aa86eb09" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">poses::CPoint3D</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a2b22c06d26d76a25b748da85aa86eb09">mrpt::hwdrivers::CGPSInterface::m_sensorPose</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00131">131</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab3e8a003783acd03bfd64716640fd67c"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_state" ref="ab3e8a003783acd03bfd64716640fd67c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab3e8a003783acd03bfd64716640fd67c">mrpt::hwdrivers::CGenericSensor::m_state</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00134">134</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2b4c1d2484961c4fb2ad2b8a17e191e1"></a><!-- doxytag: member="mrpt::hwdrivers::CGPSInterface::m_useAIMMode" ref="a2b4c1d2484961c4fb2ad2b8a17e191e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html#a2b4c1d2484961c4fb2ad2b8a17e191e1">mrpt::hwdrivers::CGPSInterface::m_useAIMMode</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Use this mode for receive RTK corrections from a external source through the primary port. </p>

<p>Definition at line <a class="el" href="_c_g_p_s_interface_8h_source.html#l00179">179</a> of file <a class="el" href="_c_g_p_s_interface_8h_source.html">CGPSInterface.h</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>