INTRODUCTION
Overview
Download and Install
Documentation
Publications

REPOSITORY
Libraries

DEVELOPER
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         
nmeamessages.h
1/*
2 * GearBox Project: Peer-Reviewed Open-Source Libraries for Robotics
3 * http://gearbox.sf.net/
4 * Copyright (c) 2004-2010 Alex Brooks, Alexei Makarenko, Tobias Kaupp, Duncan Mercer
5 *
6 * This distribution is licensed to you under the terms described in
7 * the LICENSE file included in this distribution.
8 *
9 */
10#ifndef GBXGPSUTILACFR_NMEAMESSAGES_H
11#define GBXGPSUTILACFR_NMEAMESSAGES_H
12
13#include <string>
14#include <gbxgarminacfr/nmeasentence.h>
15
16namespace gbxgarminacfr {
17
20{
28 GpRmc
29};
30
33{
34public:
35 virtual ~GenericData() {};
37 virtual DataType type() const=0;
38
39private:
40};
41
44{
52};
53std::string toString( const FixType &f );
54
57struct GgaData : public GenericData
58{
59public:
60 DataType type() const { return GpGga; }
61
68
77 double utcTimeSec;
78
80 double latitude;
82 double longitude;
86 double altitude;
87
91
94
97
100};
101std::string toString( const GgaData &d );
102inline std::ostream &operator<<( std::ostream &s, const GgaData &d )
103{ return s << toString(d); }
104GenericData* extractGgaData( const gbxgpsutilacfr::NmeaSentence& sentence, int timeSec, int timeUsec );
105
107class VtgData : public GenericData
108{
109public:
110 DataType type() const { return GpVtg; }
111
118
122
124 double headingTrue;
128 double speed;
129};
130std::string toString( const VtgData &d );
131inline std::ostream &operator<<( std::ostream &s, const VtgData &d )
132{ return s << toString(d); }
133GenericData* extractVtgData( const gbxgpsutilacfr::NmeaSentence& sentence, int timeSec, int timeUsec );
134
137class RmeData : public GenericData
138{
139public:
140 DataType type() const { return PgRme; }
141
148
152
156
161
164};
165std::string toString( const RmeData &d );
166inline std::ostream &operator<<( std::ostream &s, const RmeData &d )
167{ return s << toString(d); }
168GenericData* extractRmeData( const gbxgpsutilacfr::NmeaSentence& sentence, int timeSec, int timeUsec );
169
171class RmcData : public GenericData
172{
173public:
174 DataType type() const { return GpRmc; }
175
182
192
194 double latitude;
196 double longitude;
197
201
203 double headingTrue;
207 double speed;
208};
209std::string toString( const RmcData &d );
210inline std::ostream &operator<<( std::ostream &s, const RmcData &d )
211{ return s << toString(d); }
212GenericData* extractRmcData( const gbxgpsutilacfr::NmeaSentence& sentence, int timeSec, int timeUsec );
213
214}
215
216#endif
Generic data type returned by a read.
Definition: nmeamessages.h:33
virtual DataType type() const =0
Returns data type.
Gps data structure.
Definition: nmeamessages.h:172
int utcTimeHrs
Definition: nmeamessages.h:185
double speed
Horizontal velocity [metres/second].
Definition: nmeamessages.h:207
double utcTimeSec
Definition: nmeamessages.h:191
double longitude
Longitude [degrees].
Definition: nmeamessages.h:196
double headingMagnetic
Heading/track/course with respect to magnetic North [rad].
Definition: nmeamessages.h:205
int timeStampUsec
Definition: nmeamessages.h:181
double headingTrue
Heading/track/course with respect to true North [rad].
Definition: nmeamessages.h:203
DataType type() const
Returns data type.
Definition: nmeamessages.h:174
double latitude
Latitude [degrees].
Definition: nmeamessages.h:194
int timeStampSec
Definition: nmeamessages.h:178
bool isValid
Definition: nmeamessages.h:200
int utcTimeMin
Definition: nmeamessages.h:188
Definition: nmeamessages.h:138
int timeStampUsec
Definition: nmeamessages.h:147
double horizontalPositionError
Horizontal position error: one standard deviation [metres)].
Definition: nmeamessages.h:158
double verticalPositionError
Vertical position error: one standard deviation [metres].
Definition: nmeamessages.h:160
int timeStampSec
Definition: nmeamessages.h:144
DataType type() const
Returns data type.
Definition: nmeamessages.h:140
bool isVerticalPositionErrorValid
Definition: nmeamessages.h:155
bool isValid
Definition: nmeamessages.h:151
double estimatedPositionError
Estimated position error.
Definition: nmeamessages.h:163
Vector track and speed over ground data structure.
Definition: nmeamessages.h:108
int timeStampUsec
Definition: nmeamessages.h:117
double headingTrue
Heading/track/course with respect to true North [rad].
Definition: nmeamessages.h:124
int timeStampSec
Definition: nmeamessages.h:114
DataType type() const
Returns data type.
Definition: nmeamessages.h:110
bool isValid
Definition: nmeamessages.h:121
double speed
Horizontal velocity [metres/second].
Definition: nmeamessages.h:128
double headingMagnetic
Heading/track/course with respect to magnetic North [rad].
Definition: nmeamessages.h:126
Garmin GPS driver.
FixType
GPS fix types.
Definition: nmeamessages.h:44
@ Differential
Differentially corrected.
Definition: nmeamessages.h:51
@ Autonomous
Definition: nmeamessages.h:49
@ Invalid
Invalid or not available.
Definition: nmeamessages.h:46
DataType
Possible types GenericData can contain.
Definition: nmeamessages.h:20
@ GpVtg
Contents of PGVTG message.
Definition: nmeamessages.h:24
@ GpGga
Contents of PGGGA message.
Definition: nmeamessages.h:22
@ PgRme
Contents of PGRME message.
Definition: nmeamessages.h:26
@ GpRmc
Contents of GPRMC message.
Definition: nmeamessages.h:28
Definition: nmeamessages.h:58
double latitude
Latitude [degrees].
Definition: nmeamessages.h:80
int satellites
Number of satellites.
Definition: nmeamessages.h:93
DataType type() const
Returns data type.
Definition: nmeamessages.h:60
int timeStampUsec
Definition: nmeamessages.h:67
double horizontalDilutionOfPosition
Horizontal dilution of position [metres].
Definition: nmeamessages.h:96
int timeStampSec
Definition: nmeamessages.h:64
double longitude
Longitude [degrees].
Definition: nmeamessages.h:82
int utcTimeHrs
Definition: nmeamessages.h:71
FixType fixType
Definition: nmeamessages.h:90
double utcTimeSec
Definition: nmeamessages.h:77
int utcTimeMin
Definition: nmeamessages.h:74
double geoidalSeparation
Height of geoid (mean sea level) above WGS84 ellipsoid [metres].
Definition: nmeamessages.h:99
double altitude
Altitude [metres above ellipsoid] (only meaningful if isAltitudeKnown)
Definition: nmeamessages.h:86
bool isAltitudeKnown
Altitude is meaningful if and only if isAltitudeKnown.
Definition: nmeamessages.h:84
 

Generated for GearBox by  doxygen 1.4.5