Sophie

Sophie

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

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

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

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

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

<!-- Header -->

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

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

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

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


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

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

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

<strong>DEVELOPER</strong><br>

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

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

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

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

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

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

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


<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_b8ba9ebcb71a95a44c4fd60b7d348fe1.html">src</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_e3f15aa23b050338afa5a01a94d6f1bf.html">gbxgarminacfr</a>
  </div>
</div>
<div class="contents">
<h1>gbxgarminacfr/driver.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * GearBox Project: Peer-Reviewed Open-Source Libraries for Robotics</span>
<a name="l00003"></a>00003 <span class="comment"> *               http://gearbox.sf.net/</span>
<a name="l00004"></a>00004 <span class="comment"> * Copyright (c) 2004-2008 Duncan Mercer, Alex Brooks, Alexei Makarenko, Tobias Kaupp</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This distribution is licensed to you under the terms described in</span>
<a name="l00007"></a>00007 <span class="comment"> * the LICENSE file included in this distribution.</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> */</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef GBXGARMINACFR_DRIVER_H</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define GBXGARMINACFR_DRIVER_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;gbxserialacfr/serial.h&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;gbxutilacfr/tracer.h&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;gbxutilacfr/status.h&gt;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;memory&gt;</span>
<a name="l00018"></a>00018 
<a name="l00019"></a>00019 <span class="keyword">namespace </span>gbxgarminacfr {
<a name="l00020"></a>00020 
<a name="l00022"></a><a class="code" href="classgbxgarminacfr_1_1Config.html">00022</a> <span class="keyword">class </span><a class="code" href="classgbxgarminacfr_1_1Config.html" title="Configuration structure.">Config</a>
<a name="l00023"></a>00023 {   
<a name="l00024"></a>00024 <span class="keyword">public</span>:
<a name="l00025"></a>00025     <a class="code" href="classgbxgarminacfr_1_1Config.html" title="Configuration structure.">Config</a>() :
<a name="l00026"></a>00026         <a class="code" href="classgbxgarminacfr_1_1Config.html#a6b53d5a95a926f52c7057745f9e88de9" title="Read GPGGA sentence.">readGga</a>(<span class="keyword">true</span>),
<a name="l00027"></a>00027         <a class="code" href="classgbxgarminacfr_1_1Config.html#a265a93fd8d8653ddd4b794e03eb4b4fd" title="Read GPVTG sentence.">readVtg</a>(<span class="keyword">true</span>),
<a name="l00028"></a>00028         <a class="code" href="classgbxgarminacfr_1_1Config.html#a844ca8029a8465acc751f4c113e8378a" title="Read PGRME sentence.">readRme</a>(<span class="keyword">true</span>),
<a name="l00029"></a>00029         <a class="code" href="classgbxgarminacfr_1_1Config.html#ae4505f5744b8bdd7e6a43139d6679049">ignoreUnknown</a>(<span class="keyword">false</span>) {};
<a name="l00030"></a>00030 
<a name="l00034"></a>00034     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1Config.html#a234caa76897d228203ca1aee33edc5e5">isValid</a>() <span class="keyword">const</span>;
<a name="l00035"></a>00035 
<a name="l00037"></a>00037     std::string <a class="code" href="classgbxgarminacfr_1_1Config.html#a94ed0b3fb7c1f1d16333648fedb0011f" title="Returns human-readable configuration description.">toString</a>() <span class="keyword">const</span>;
<a name="l00038"></a>00038 
<a name="l00040"></a><a class="code" href="classgbxgarminacfr_1_1Config.html#a6702d52ab06e1dddb3974e64dad0e773">00040</a>     std::string <a class="code" href="classgbxgarminacfr_1_1Config.html#a6702d52ab06e1dddb3974e64dad0e773" title="Serial device. e.g. &amp;quot;/dev/ttyS0&amp;quot;.">device</a>;
<a name="l00041"></a>00041 
<a name="l00043"></a><a class="code" href="classgbxgarminacfr_1_1Config.html#a6b53d5a95a926f52c7057745f9e88de9">00043</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1Config.html#a6b53d5a95a926f52c7057745f9e88de9" title="Read GPGGA sentence.">readGga</a>;
<a name="l00045"></a><a class="code" href="classgbxgarminacfr_1_1Config.html#a265a93fd8d8653ddd4b794e03eb4b4fd">00045</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1Config.html#a265a93fd8d8653ddd4b794e03eb4b4fd" title="Read GPVTG sentence.">readVtg</a>;
<a name="l00047"></a><a class="code" href="classgbxgarminacfr_1_1Config.html#a844ca8029a8465acc751f4c113e8378a">00047</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1Config.html#a844ca8029a8465acc751f4c113e8378a" title="Read PGRME sentence.">readRme</a>;
<a name="l00048"></a>00048 
<a name="l00052"></a><a class="code" href="classgbxgarminacfr_1_1Config.html#ae4505f5744b8bdd7e6a43139d6679049">00052</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1Config.html#ae4505f5744b8bdd7e6a43139d6679049">ignoreUnknown</a>;
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054 
<a name="l00056"></a><a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8b">00056</a> <span class="keyword">enum</span> <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8b" title="Possible types GenericData can contain.">DataType</a> 
<a name="l00057"></a>00057 {
<a name="l00059"></a><a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8ba47c8bfbb627e572a20244eeff6131a6f">00059</a>     <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8ba47c8bfbb627e572a20244eeff6131a6f" title="Contents of PGGGA message.">GpGga</a>,
<a name="l00061"></a><a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8ba31a1d5fe5e051887f50b0b097dd7021c">00061</a>     <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8ba31a1d5fe5e051887f50b0b097dd7021c" title="Contents of PGVTG message.">GpVtg</a>,
<a name="l00063"></a><a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8bae833766f5f22ae74c74ccaba94c49af5">00063</a>     <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8bae833766f5f22ae74c74ccaba94c49af5" title="Contents of PGRME message.">PgRme</a>
<a name="l00064"></a>00064 };
<a name="l00065"></a>00065 
<a name="l00067"></a><a class="code" href="classgbxgarminacfr_1_1GenericData.html">00067</a> <span class="keyword">class </span><a class="code" href="classgbxgarminacfr_1_1GenericData.html" title="Generic data type returned by a read.">GenericData</a>
<a name="l00068"></a>00068 {
<a name="l00069"></a>00069 <span class="keyword">public</span>:
<a name="l00070"></a>00070     <span class="keyword">virtual</span> ~<a class="code" href="classgbxgarminacfr_1_1GenericData.html" title="Generic data type returned by a read.">GenericData</a>() {};
<a name="l00072"></a>00072     <span class="keyword">virtual</span> <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8b" title="Possible types GenericData can contain.">DataType</a> <a class="code" href="classgbxgarminacfr_1_1GenericData.html#ab3ddd8a51cd217d4ed20a350e6bcd0a0" title="Returns data type.">type</a>() <span class="keyword">const</span>=0;
<a name="l00073"></a>00073 
<a name="l00074"></a>00074 <span class="keyword">private</span>:
<a name="l00075"></a>00075 };
<a name="l00076"></a>00076 
<a name="l00078"></a><a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164">00078</a> <span class="keyword">enum</span> <a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164" title="GPS fix types.">FixType</a> 
<a name="l00079"></a>00079 {
<a name="l00081"></a><a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164aab6fd7c707d87d8dd4bdcbd8c50ff0b4">00081</a>     <a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164aab6fd7c707d87d8dd4bdcbd8c50ff0b4" title="Invalid or not available.">Invalid</a>,
<a name="l00084"></a><a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164a6b0602492d12e2c5c72f32d8b8222159">00084</a>     <a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164a6b0602492d12e2c5c72f32d8b8222159">Autonomous</a>,
<a name="l00086"></a><a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164a53df7519f8e59995843c886f95107fd2">00086</a>     <a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164a53df7519f8e59995843c886f95107fd2" title="Differentially corrected.">Differential</a>
<a name="l00087"></a>00087 };
<a name="l00088"></a>00088 std::string toString( <span class="keyword">const</span> <a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164" title="GPS fix types.">FixType</a> &amp;f );
<a name="l00089"></a>00089 
<a name="l00092"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html">00092</a> <span class="keyword">struct </span><a class="code" href="structgbxgarminacfr_1_1GgaData.html">GgaData</a> : <span class="keyword">public</span> <a class="code" href="classgbxgarminacfr_1_1GenericData.html" title="Generic data type returned by a read.">GenericData</a>
<a name="l00093"></a>00093 {
<a name="l00094"></a>00094 <span class="keyword">public</span>:
<a name="l00095"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a843c693481edea65d2fd9e2256bc4267">00095</a>     <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8b" title="Possible types GenericData can contain.">DataType</a> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a843c693481edea65d2fd9e2256bc4267" title="Returns data type.">type</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8ba47c8bfbb627e572a20244eeff6131a6f" title="Contents of PGGGA message.">GpGga</a>; }
<a name="l00096"></a>00096 
<a name="l00099"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a60c90c04d45f92ca876884f3e6c2f977">00099</a>     <span class="keywordtype">int</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a60c90c04d45f92ca876884f3e6c2f977">timeStampSec</a>;
<a name="l00102"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a4bafe4fadc1c8a63834c9bc03fca0472">00102</a>     <span class="keywordtype">int</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a4bafe4fadc1c8a63834c9bc03fca0472">timeStampUsec</a>;
<a name="l00103"></a>00103 
<a name="l00106"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a6e35fd88d007cd7c5a51aabc31e7badd">00106</a>     <span class="keywordtype">int</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a6e35fd88d007cd7c5a51aabc31e7badd">utcTimeHrs</a>;
<a name="l00109"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a826a1d222a08e7a34e90b66e9ca7b904">00109</a>     <span class="keywordtype">int</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a826a1d222a08e7a34e90b66e9ca7b904">utcTimeMin</a>;
<a name="l00112"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a7a2918a0845e507eaf28ee82fcc9436d">00112</a>     <span class="keywordtype">double</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a7a2918a0845e507eaf28ee82fcc9436d">utcTimeSec</a>;
<a name="l00113"></a>00113 
<a name="l00115"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a03a30f29fad96814eee1d00a7919381d">00115</a>     <span class="keywordtype">double</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a03a30f29fad96814eee1d00a7919381d" title="Latitude [degrees].">latitude</a>;
<a name="l00117"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a6990bb108d933c6d588e9984686a8913">00117</a>     <span class="keywordtype">double</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a6990bb108d933c6d588e9984686a8913" title="Longitude [degrees].">longitude</a>;
<a name="l00119"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#af02fdf9501b4b62e47b4c5b77876c217">00119</a>     <span class="keywordtype">bool</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#af02fdf9501b4b62e47b4c5b77876c217" title="Altitude is meaningful if and only if isAltitudeKnown.">isAltitudeKnown</a>;
<a name="l00121"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#abf189f307b64ead689ff89b6f20d10d6">00121</a>     <span class="keywordtype">double</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#abf189f307b64ead689ff89b6f20d10d6" title="Altitude [metres above ellipsoid] (only meaningful if isAltitudeKnown).">altitude</a>;
<a name="l00122"></a>00122     
<a name="l00125"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a73da60a2b2df216183228b2b4920aa77">00125</a>     <a class="code" href="namespacegbxgarminacfr.html#a10d43e99e3d7dd13d8969143238c3164" title="GPS fix types.">FixType</a> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a73da60a2b2df216183228b2b4920aa77">fixType</a>;
<a name="l00126"></a>00126 
<a name="l00128"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a2fff8a3ae021c3535294bb4e7ec874f9">00128</a>     <span class="keywordtype">int</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a2fff8a3ae021c3535294bb4e7ec874f9" title="Number of satellites.">satellites</a>;
<a name="l00129"></a>00129 
<a name="l00131"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#a4e5ed26c33b83cc9d0e248d7e5743e64">00131</a>     <span class="keywordtype">double</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#a4e5ed26c33b83cc9d0e248d7e5743e64" title="Horizontal dilution of position [metres].">horizontalDilutionOfPosition</a>;
<a name="l00132"></a>00132     
<a name="l00134"></a><a class="code" href="structgbxgarminacfr_1_1GgaData.html#ab9a8f29b32ba73f041f35ec07d51ebc8">00134</a>     <span class="keywordtype">double</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html#ab9a8f29b32ba73f041f35ec07d51ebc8" title="Height of geoid (mean sea level) above WGS84 ellipsoid [metres].">geoidalSeparation</a>;    
<a name="l00135"></a>00135 };
<a name="l00136"></a>00136 std::string toString( <span class="keyword">const</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html">GgaData</a> &amp;d );
<a name="l00137"></a>00137 <span class="keyword">inline</span> std::ostream &amp;operator&lt;&lt;( std::ostream &amp;s, <span class="keyword">const</span> <a class="code" href="structgbxgarminacfr_1_1GgaData.html">GgaData</a> &amp;d )
<a name="l00138"></a>00138 { <span class="keywordflow">return</span> s &lt;&lt; toString(d); }
<a name="l00139"></a>00139 
<a name="l00141"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html">00141</a> <span class="keyword">class </span><a class="code" href="classgbxgarminacfr_1_1VtgData.html" title="Vector track and speed over ground data structure.">VtgData</a> : <span class="keyword">public</span> <a class="code" href="classgbxgarminacfr_1_1GenericData.html" title="Generic data type returned by a read.">GenericData</a>
<a name="l00142"></a>00142 {
<a name="l00143"></a>00143 <span class="keyword">public</span>:
<a name="l00144"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#a0fe303f588157912c4c9291e827435f0">00144</a>     <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8b" title="Possible types GenericData can contain.">DataType</a> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#a0fe303f588157912c4c9291e827435f0" title="Returns data type.">type</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8ba31a1d5fe5e051887f50b0b097dd7021c" title="Contents of PGVTG message.">GpVtg</a>; }
<a name="l00145"></a>00145 
<a name="l00148"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#a6e0736eadd15f5d74d9cc5966fb122f5">00148</a>     <span class="keywordtype">int</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#a6e0736eadd15f5d74d9cc5966fb122f5">timeStampSec</a>;
<a name="l00151"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#a4d2846cf7d733d240509cf33c0622330">00151</a>     <span class="keywordtype">int</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#a4d2846cf7d733d240509cf33c0622330">timeStampUsec</a>;
<a name="l00152"></a>00152 
<a name="l00155"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#a9acc1654cf4e22eb746f983e02adba76">00155</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#a9acc1654cf4e22eb746f983e02adba76">isValid</a>;
<a name="l00156"></a>00156     
<a name="l00158"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#a5b890201c8a15742526f2b8af76a71dc">00158</a>     <span class="keywordtype">double</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#a5b890201c8a15742526f2b8af76a71dc" title="Heading/track/course with respect to true North [rad].">headingTrue</a>; 
<a name="l00160"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#ac5465ab542edb92a4b9ace9bdaf010cd">00160</a>     <span class="keywordtype">double</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#ac5465ab542edb92a4b9ace9bdaf010cd" title="Heading/track/course with respect to magnetic North [rad].">headingMagnetic</a>; 
<a name="l00162"></a><a class="code" href="classgbxgarminacfr_1_1VtgData.html#abf6cca06934f4ae6336e4be65f691559">00162</a>     <span class="keywordtype">double</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html#abf6cca06934f4ae6336e4be65f691559" title="Horizontal velocity [metres/second].">speed</a>;
<a name="l00163"></a>00163 };
<a name="l00164"></a>00164 std::string toString( <span class="keyword">const</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html" title="Vector track and speed over ground data structure.">VtgData</a> &amp;d );
<a name="l00165"></a>00165 <span class="keyword">inline</span> std::ostream &amp;operator&lt;&lt;( std::ostream &amp;s, <span class="keyword">const</span> <a class="code" href="classgbxgarminacfr_1_1VtgData.html" title="Vector track and speed over ground data structure.">VtgData</a> &amp;d )
<a name="l00166"></a>00166 { <span class="keywordflow">return</span> s &lt;&lt; toString(d); }
<a name="l00167"></a>00167 
<a name="l00169"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html">00169</a> <span class="keyword">class </span><a class="code" href="classgbxgarminacfr_1_1RmeData.html" title="Gps data structure.">RmeData</a> : <span class="keyword">public</span> <a class="code" href="classgbxgarminacfr_1_1GenericData.html" title="Generic data type returned by a read.">GenericData</a>
<a name="l00170"></a>00170 {
<a name="l00171"></a>00171 <span class="keyword">public</span>:
<a name="l00172"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#a2ad37e26a50a0becf23dce70fd601818">00172</a>     <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8b" title="Possible types GenericData can contain.">DataType</a> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#a2ad37e26a50a0becf23dce70fd601818" title="Returns data type.">type</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacegbxgarminacfr.html#ac58741861a26a48c03cf9862c5e10f8bae833766f5f22ae74c74ccaba94c49af5" title="Contents of PGRME message.">PgRme</a>; }
<a name="l00173"></a>00173 
<a name="l00176"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#a93e257bdca8f2eeb8afc508e6e34d4f2">00176</a>     <span class="keywordtype">int</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#a93e257bdca8f2eeb8afc508e6e34d4f2">timeStampSec</a>;
<a name="l00179"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#a5212a1efe9206a3207802364793ea695">00179</a>     <span class="keywordtype">int</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#a5212a1efe9206a3207802364793ea695">timeStampUsec</a>;
<a name="l00180"></a>00180     
<a name="l00183"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#ab761b9619b86b58ad43aa10936d8de09">00183</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#ab761b9619b86b58ad43aa10936d8de09">isValid</a>;
<a name="l00184"></a>00184 
<a name="l00187"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#a9c71e02b60a7565a60d23c4c8e844d88">00187</a>     <span class="keywordtype">bool</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#a9c71e02b60a7565a60d23c4c8e844d88">isVerticalPositionErrorValid</a>;
<a name="l00188"></a>00188     
<a name="l00190"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#a74f9566abffda01b0799aba2c5a9d74d">00190</a>     <span class="keywordtype">double</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#a74f9566abffda01b0799aba2c5a9d74d" title="Horizontal position error: one standard deviation [metres)].">horizontalPositionError</a>;
<a name="l00192"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#a7feb2c10f46ca925ef083c49d08eab27">00192</a>     <span class="keywordtype">double</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#a7feb2c10f46ca925ef083c49d08eab27" title="Vertical position error: one standard deviation [metres].">verticalPositionError</a>;
<a name="l00193"></a>00193 
<a name="l00195"></a><a class="code" href="classgbxgarminacfr_1_1RmeData.html#ad3baaa06baaacc5e5ed37a5f355d0ba7">00195</a>     <span class="keywordtype">double</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html#ad3baaa06baaacc5e5ed37a5f355d0ba7" title="Estimated position error.">estimatedPositionError</a>;
<a name="l00196"></a>00196 };
<a name="l00197"></a>00197 std::string toString( <span class="keyword">const</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html" title="Gps data structure.">RmeData</a> &amp;d );
<a name="l00198"></a>00198 <span class="keyword">inline</span> std::ostream &amp;operator&lt;&lt;( std::ostream &amp;s, <span class="keyword">const</span> <a class="code" href="classgbxgarminacfr_1_1RmeData.html" title="Gps data structure.">RmeData</a> &amp;d )
<a name="l00199"></a>00199 { <span class="keywordflow">return</span> s &lt;&lt; toString(d); }
<a name="l00200"></a>00200 
<a name="l00222"></a><a class="code" href="classgbxgarminacfr_1_1Driver.html">00222</a> <span class="keyword">class </span><a class="code" href="classgbxgarminacfr_1_1Driver.html">Driver</a>
<a name="l00223"></a>00223 {
<a name="l00224"></a>00224 
<a name="l00225"></a>00225 <span class="keyword">public</span>:
<a name="l00226"></a>00226 
<a name="l00232"></a>00232     <a class="code" href="classgbxgarminacfr_1_1Driver.html#aeee5bda2e5b456e12b566edaa9ac9288">Driver</a>( <span class="keyword">const</span> <a class="code" href="classgbxgarminacfr_1_1Config.html" title="Configuration structure.">Config</a>&amp; config, 
<a name="l00233"></a>00233             <a class="code" href="classgbxutilacfr_1_1Tracer.html" title="Local and remote tracing.">gbxutilacfr::Tracer</a>&amp; tracer,
<a name="l00234"></a>00234             <a class="code" href="classgbxutilacfr_1_1Status.html" title="Local interface to component status.">gbxutilacfr::Status</a>&amp; status );
<a name="l00235"></a>00235 
<a name="l00236"></a>00236     ~<a class="code" href="classgbxgarminacfr_1_1Driver.html">Driver</a>();
<a name="l00237"></a>00237 
<a name="l00254"></a>00254     std::auto_ptr&lt;GenericData&gt; <a class="code" href="classgbxgarminacfr_1_1Driver.html#afcd8394bb3a6fdfd11010afb553da635">read</a>();
<a name="l00255"></a>00255 
<a name="l00256"></a>00256 <span class="keyword">private</span>:
<a name="l00257"></a>00257 
<a name="l00258"></a>00258     <span class="keywordtype">void</span> init();
<a name="l00259"></a>00259     <span class="keywordtype">void</span> enableDevice();
<a name="l00260"></a>00260     <span class="keywordtype">void</span> disableDevice();
<a name="l00261"></a>00261     
<a name="l00262"></a>00262     std::auto_ptr&lt;gbxserialacfr::Serial&gt; serial_;
<a name="l00263"></a>00263 
<a name="l00264"></a>00264     <a class="code" href="classgbxgarminacfr_1_1Config.html" title="Configuration structure.">Config</a> config_;
<a name="l00265"></a>00265     <a class="code" href="classgbxutilacfr_1_1Tracer.html" title="Local and remote tracing.">gbxutilacfr::Tracer</a>&amp; tracer_;
<a name="l00266"></a>00266     <a class="code" href="classgbxutilacfr_1_1Status.html" title="Local interface to component status.">gbxutilacfr::Status</a>&amp; status_;
<a name="l00267"></a>00267 };
<a name="l00268"></a>00268 
<a name="l00269"></a>00269 } <span class="comment">// namespace</span>
<a name="l00270"></a>00270 
<a name="l00271"></a>00271 <span class="preprocessor">#endif</span>
</pre></div></div>

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

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