MRPT  2.0.4
gnss_messages_ascii_nmea.cpp
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #include "obs-precomp.h" // Precompiled headers
11 
13 #include <iostream>
14 
15 using namespace std;
16 using namespace mrpt::obs::gnss;
17 
18 // ---------------------------------------
19 Message_NMEA_GGA::content_t::content_t() : UTCTime() {}
20 void Message_NMEA_GGA::dumpToStream(std::ostream& out) const
21 {
22  out << "[NMEA GGA datum]\n";
23  out << mrpt::format(
24  " Longitude: %.09f deg Latitude: %.09f deg Height: %.03f m\n",
27 
28  out << mrpt::format(
29  " Geoidal distance: %.03f m Orthometric alt.: %.03f m Corrected "
30  "ort. alt.: %.03f m\n",
33 
34  out << mrpt::format(
35  " UTC time-stamp: %02u:%02u:%02.03f #sats=%2u ", fields.UTCTime.hour,
37 
38  out << mrpt::format("Fix mode: %u ", fields.fix_quality);
39 
40  const char* fix_names[] = {"0:Invalid",
41  "1:GPS fix",
42  "2:DGPS fix",
43  "3:PPS fix",
44  "4:RTK Fixed",
45  "5:RTK Float",
46  "6:Dead Reckoning",
47  "7:Manual",
48  "8:Simulation",
49  "9:mmGPS + RTK Fixed",
50  "10: mmGPS + RTK Float"};
51 
52  if (fields.fix_quality < sizeof(fix_names) / sizeof(fix_names[0]))
53  out << "(" << fix_names[fields.fix_quality] << ")\n";
54  else
55  out << "(UNKNOWN!)\n";
56 
57  out << " HDOP (Horizontal Dilution of Precision): ";
58  if (fields.thereis_HDOP)
59  out << mrpt::format(" %f\n", fields.HDOP);
60  else
61  out << " N/A\n";
62 }
63 
64 bool Message_NMEA_GGA::getAllFieldDescriptions(std::ostream& o) const
65 {
66  o << "lon_deg lat_deg hgt_m undulation_m hour min sec num_sats fix_quality "
67  "hdop";
68  return true;
69 }
70 bool Message_NMEA_GGA::getAllFieldValues(std::ostream& o) const
71 {
72  o << mrpt::format(
73  "%.09f %.09f %.04f %.04f %02u %02u %02.03f %2u %u %f",
78  return true;
79 }
80 
81 // ---------------------------------------
83 void Message_NMEA_GLL::dumpToStream(std::ostream& out) const
84 {
85  out << "[NMEA GLL datum]\n";
86  out << mrpt::format(
87  " Longitude: %.09f deg Latitude: %.09f deg Validity: '%c'\n",
90  out << mrpt::format(
91  " UTC time-stamp: %02u:%02u:%02.03f\n", fields.UTCTime.hour,
93 }
94 
95 bool Message_NMEA_GLL::getAllFieldDescriptions(std::ostream& o) const
96 {
97  o << "lon_deg lat_deg hour min sec validity";
98  return true;
99 }
100 bool Message_NMEA_GLL::getAllFieldValues(std::ostream& o) const
101 {
102  o << mrpt::format(
103  "%.09f %.09f %02u %02u %02.03f %u", fields.longitude_degrees,
106  static_cast<unsigned int>(fields.validity_char == 'A' ? 1 : 0));
107  return true;
108 }
109 
110 // ---------------------------------------
112 
113  = default;
114 
115 void Message_NMEA_VTG::dumpToStream(std::ostream& out) const
116 {
117  out << "[NMEA VTG datum]\n";
118  out << mrpt::format(
119  " True track: %.03f deg Magnetic track: %.03f deg\n",
120  fields.true_track, fields.magnetic_track);
121  out << mrpt::format(
122  " Ground speed: %.03f knots %.03f km/h\n", fields.ground_speed_knots,
123  fields.ground_speed_kmh);
124 }
125 
126 bool Message_NMEA_VTG::getAllFieldDescriptions(std::ostream& o) const
127 {
128  o << "true_track mag_track gnd_speed_knots gnd_speed_kmh";
129  return true;
130 }
131 bool Message_NMEA_VTG::getAllFieldValues(std::ostream& o) const
132 {
133  o << mrpt::format(
134  "%.09f %.09f %.09f %.09f", fields.true_track, fields.magnetic_track,
135  fields.ground_speed_knots, fields.ground_speed_kmh);
136  return true;
137 }
138 
139 // ---------------------------------------
141 /** Build an MRPT timestamp with the year/month/day of this observation. */
142 
144 {
145  using namespace mrpt::system;
146 
147  // Detect current century:
148  uint16_t years_century;
149  {
150  TTimeParts dec_parts;
151  timestampToParts(now(), dec_parts);
152  years_century = (dec_parts.year / 100) * 100;
153  }
154 
155  TTimeParts parts;
156  parts.second = parts.minute = parts.hour = 0;
157 
158  parts.day = fields.date_day;
159  parts.month = fields.date_month;
160  parts.year = years_century + fields.date_year;
161 
162  return buildTimestampFromParts(parts);
163 }
164 
165 void Message_NMEA_RMC::dumpToStream(std::ostream& out) const
166 {
167  out << "[NMEA RMC datum]\n";
168  out << mrpt::format(" Positioning mode: `%c`\n ", fields.positioning_mode);
169  out << mrpt::format(
170  " UTC time-stamp: %02u:%02u:%02.03f\n", fields.UTCTime.hour,
172  out << mrpt::format(
173  " Date (DD/MM/YY): %02u/%02u/%02u\n ",
174  static_cast<unsigned>(fields.date_day), (unsigned)fields.date_month,
175  static_cast<unsigned>(fields.date_year));
176  out << mrpt::format(
177  " Longitude: %.09f deg Latitude: %.09f deg Valid?: '%c'\n",
180  out << mrpt::format(
181  " Speed: %.05f knots Direction:%.03f deg.\n ", fields.speed_knots,
183  out << mrpt::format(
184  " Magnetic variation direction: %.04f deg\n ", fields.magnetic_dir);
185 }
186 
187 bool Message_NMEA_RMC::getAllFieldDescriptions(std::ostream& o) const
188 {
189  o << "lon_deg lat_deg hour min sec speed_knots direction_deg year month "
190  "day";
191  return true;
192 }
193 bool Message_NMEA_RMC::getAllFieldValues(std::ostream& o) const
194 {
195  o << mrpt::format(
196  "%.09f %.09f %02u %02u %02.03f %.05f %.03f %02u %02u %02u",
200  fields.date_day);
201  return true;
202 }
203 
204 // ---------------------------------------
206 {
207  for (int i = 0; i < 12; i++) PRNs[i][0] = PRNs[i][1] = '\0';
208 }
209 void Message_NMEA_GSA::dumpToStream(std::ostream& out) const
210 {
211  out << "[NMEA GSA datum]\n";
212  out << "auto_selection_fix: " << fields.auto_selection_fix
213  << "\n"
214  "fix_2D_3D: "
215  << fields.fix_2D_3D << "\n";
216  for (int i = 0; i < 12; i++)
217  out << mrpt::format("PRNs[%i]=%5.02s\n", i, fields.PRNs[i]);
218 
219  out << "PDOP: " << fields.PDOP
220  << "\n"
221  "HDOP: "
222  << fields.HDOP
223  << "\n"
224  "VDOP: "
225  << fields.VDOP << "\n";
226 }
227 
228 bool Message_NMEA_GSA::getAllFieldDescriptions(std::ostream& o) const
229 {
230  o << "auto_selection_fix fix_2D_3D PRN[0] PRN[1] PRN[2] PRN[3] PRN[4] "
231  "PRN[5] PRN[6] PRN[7] PRN[8] PRN[9] PRN[10] PRN[11] PDOP HDOP VDOP";
232  return true;
233 }
234 bool Message_NMEA_GSA::getAllFieldValues(std::ostream& o) const
235 {
236  o << mrpt::format(
237  "%04c %02c %07.2s %07.2s %07.2s %07.2s %07.2s %07.2s %07.2s %07.2s "
238  "%07.2s %07.2s %07.2s "
239  "%07.2s %.05f %.05f %.05f",
240  fields.auto_selection_fix, fields.fix_2D_3D, fields.PRNs[0],
241  fields.PRNs[1], fields.PRNs[2], fields.PRNs[3], fields.PRNs[4],
242  fields.PRNs[5], fields.PRNs[6], fields.PRNs[7], fields.PRNs[8],
243  fields.PRNs[9], fields.PRNs[10], fields.PRNs[11], fields.PDOP,
244  fields.HDOP, fields.VDOP);
245  return true;
246 }
247 
248 // ---------------------------------------
250 void Message_NMEA_ZDA::dumpToStream(std::ostream& out) const
251 {
252  out << "[NMEA ZDA datum]\n";
253  out << mrpt::format(
254  " UTC time-stamp: %02u:%02u:%02.03f\n", fields.UTCTime.hour,
256  out << mrpt::format(
257  " Date (DD/MM/YY): %02u/%02u/%04u\n ", (unsigned)fields.date_day,
258  (unsigned)fields.date_month, (unsigned)fields.date_year);
259 }
260 
261 bool Message_NMEA_ZDA::getAllFieldDescriptions(std::ostream& o) const
262 {
263  o << "year month day hour minute second";
264  return true;
265 }
266 bool Message_NMEA_ZDA::getAllFieldValues(std::ostream& o) const
267 {
268  o << mrpt::format(
269  "%04u %02u %02u %02u %02u %.05f", fields.date_year, fields.date_month,
271  fields.UTCTime.sec);
272  return true;
273 }
274 
276 {
278 }
279 
280 /** Build an MRPT timestamp with the year/month/day of this observation. */
281 
283 {
284  using namespace mrpt::system;
285  TTimeParts parts;
286  parts.second = parts.minute = parts.hour = 0;
287  parts.day = fields.date_day;
288  parts.month = fields.date_month;
289  parts.year = fields.date_year;
290  return buildTimestampFromParts(parts);
291 }
mrpt::obs::gnss::Message_NMEA_RMC::content_t::validity_char
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
Definition: gnss_messages_ascii_nmea.h:147
mrpt::obs::gnss::Message_NMEA_GSA::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:234
mrpt::obs::gnss::Message_NMEA_ZDA::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_ascii_nmea.cpp:250
mrpt::obs::gnss::Message_NMEA_RMC::getDateAsTimestamp
mrpt::system::TTimeStamp getDateAsTimestamp() const
Build an MRPT timestamp with the year/month/day of this observation.
Definition: gnss_messages_ascii_nmea.cpp:143
mrpt::obs::gnss::Message_NMEA_GGA::content_t::longitude_degrees
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
Definition: gnss_messages_ascii_nmea.h:35
mrpt::obs::gnss::Message_NMEA_RMC::content_t::speed_knots
double speed_knots
Measured speed (in knots)
Definition: gnss_messages_ascii_nmea.h:153
mrpt::obs::gnss::Message_NMEA_VTG::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:131
mrpt::obs::gnss::Message_NMEA_RMC::content_t::date_month
uint8_t date_month
Definition: gnss_messages_ascii_nmea.h:157
mrpt::obs::gnss::Message_NMEA_ZDA::getDateAsTimestamp
mrpt::system::TTimeStamp getDateAsTimestamp() const
Build an MRPT timestamp with the year/month/day of this observation.
Definition: gnss_messages_ascii_nmea.cpp:282
mrpt::system::TTimeParts::hour
uint8_t hour
Day (1-31)
Definition: datetime.h:54
mrpt::obs::gnss::Message_NMEA_ZDA::content_t::content_t
content_t()
Definition: gnss_messages_ascii_nmea.cpp:249
mrpt::obs::gnss::Message_NMEA_GLL::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_ascii_nmea.cpp:83
mrpt::system::buildTimestampFromParts
mrpt::system::TTimeStamp buildTimestampFromParts(const mrpt::system::TTimeParts &p)
Builds a timestamp from the parts (Parts are in UTC)
Definition: datetime.cpp:74
mrpt::obs::gnss::Message_NMEA_GGA::fields
content_t fields
Message content, accesible by individual fields.
Definition: gnss_messages_ascii_nmea.h:63
mrpt::obs::gnss::Message_NMEA_GLL::fields
content_t fields
Message content, accesible by individual fields.
Definition: gnss_messages_ascii_nmea.h:126
mrpt::obs::gnss::Message_NMEA_ZDA::fields
content_t fields
Message content, accesible by individual fields.
Definition: gnss_messages_ascii_nmea.h:249
mrpt::system::TTimeParts::second
double second
Minute (0-59)
Definition: datetime.h:56
mrpt::obs::gnss::Message_NMEA_ZDA::getDateTimeAsTimestamp
mrpt::system::TTimeStamp getDateTimeAsTimestamp() const
Build an MRPT UTC timestamp with the year/month/day + hour/minute/sec of this observation.
Definition: gnss_messages_ascii_nmea.cpp:275
mrpt::system::now
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
Definition: datetime.h:86
mrpt::system::TTimeParts::year
uint16_t year
Definition: datetime.h:51
out
mrpt::vision::TStereoCalibResults out
Definition: chessboard_stereo_camera_calib_unittest.cpp:25
mrpt::obs::gnss::Message_NMEA_GGA::content_t::HDOP
float HDOP
The HDOP (Horizontal Dilution of Precision) as returned by the sensor.
Definition: gnss_messages_ascii_nmea.h:58
mrpt::obs::gnss::Message_NMEA_ZDA::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:266
obs-precomp.h
mrpt::obs::gnss::Message_NMEA_ZDA::content_t::date_year
uint16_t date_year
2000-...
Definition: gnss_messages_ascii_nmea.h:245
mrpt::obs::gnss::Message_NMEA_GGA::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:64
mrpt::obs::gnss::Message_NMEA_RMC::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_ascii_nmea.cpp:165
mrpt::obs::gnss::Message_NMEA_VTG::content_t::content_t
content_t()
mrpt::obs::gnss::Message_NMEA_GLL::content_t::validity_char
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
Definition: gnss_messages_ascii_nmea.h:122
mrpt::system::TTimeParts
The parts of a date/time (it's like the standard 'tm' but with fractions of seconds).
Definition: datetime.h:49
mrpt::obs::gnss::Message_NMEA_RMC::content_t::magnetic_dir
double magnetic_dir
Magnetic variation direction (East:+, West:-)
Definition: gnss_messages_ascii_nmea.h:159
mrpt::obs::gnss::Message_NMEA_ZDA::content_t::date_day
uint8_t date_day
1-31
Definition: gnss_messages_ascii_nmea.h:241
mrpt::obs::gnss::Message_NMEA_RMC::content_t::content_t
content_t()
Definition: gnss_messages_ascii_nmea.cpp:140
mrpt::system::TTimeParts::day
uint8_t day
Month (1-12)
Definition: datetime.h:53
mrpt::obs::gnss::Message_NMEA_GGA::content_t::latitude_degrees
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
Definition: gnss_messages_ascii_nmea.h:33
mrpt::system::timestampToParts
void timestampToParts(TTimeStamp t, TTimeParts &p, bool localTime=false)
Gets the individual parts of a date/time (days, hours, minutes, seconds) - UTC time or local time.
Definition: datetime.cpp:50
mrpt::obs::gnss::UTC_time::getAsTimestamp
mrpt::system::TTimeStamp getAsTimestamp(const mrpt::system::TTimeStamp &date) const
Build an MRPT timestamp with the hour/minute/sec of this structure and the date from the given timest...
Definition: gnss_messages_common.cpp:197
mrpt::obs::gnss::Message_NMEA_RMC::content_t::direction_degrees
double direction_degrees
Measured speed direction (in degrees)
Definition: gnss_messages_ascii_nmea.h:155
mrpt::obs::gnss::Message_NMEA_RMC::content_t::latitude_degrees
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
Definition: gnss_messages_ascii_nmea.h:149
mrpt::obs::gnss::Message_NMEA_GLL::content_t::longitude_degrees
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
Definition: gnss_messages_ascii_nmea.h:120
mrpt::obs::gnss::Message_NMEA_GGA::content_t::satellitesUsed
uint32_t satellitesUsed
The number of satelites used to compute this estimation.
Definition: gnss_messages_ascii_nmea.h:52
gnss_messages_ascii_nmea.h
mrpt::obs::gnss::UTC_time::hour
uint8_t hour
Definition: gnss_messages_common.h:191
mrpt::obs::gnss::Message_NMEA_RMC::content_t::positioning_mode
char positioning_mode
'A': Autonomous, 'D': Differential, 'N': Not valid, 'E': Estimated, 'M': Manual
Definition: gnss_messages_ascii_nmea.h:162
mrpt::obs::gnss::Message_NMEA_RMC::content_t::longitude_degrees
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
Definition: gnss_messages_ascii_nmea.h:151
mrpt::obs::gnss::UTC_time::minute
uint8_t minute
Definition: gnss_messages_common.h:192
mrpt::obs::gnss::Message_NMEA_RMC::fields
content_t fields
Message content, accesible by individual fields.
Definition: gnss_messages_ascii_nmea.h:166
mrpt::system::TTimeStamp
mrpt::Clock::time_point TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
Definition: datetime.h:40
mrpt::obs::gnss::Message_NMEA_GLL::content_t::latitude_degrees
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
Definition: gnss_messages_ascii_nmea.h:118
mrpt::obs::gnss::Message_NMEA_GGA::content_t::corrected_orthometric_altitude
double corrected_orthometric_altitude
The corrected (only for TopCon mmGPS) orthometric altitude, in meters mmGPS(A+B).
Definition: gnss_messages_ascii_nmea.h:50
mrpt::obs::gnss::Message_NMEA_GLL::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:100
mrpt::obs::gnss::Message_NMEA_GGA::content_t::altitude_meters
double altitude_meters
The measured altitude, in meters (A).
Definition: gnss_messages_ascii_nmea.h:42
mrpt::obs::gnss::Message_NMEA_GGA::content_t::UTCTime
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
Definition: gnss_messages_ascii_nmea.h:31
mrpt::obs::gnss::Message_NMEA_GGA::content_t::thereis_HDOP
bool thereis_HDOP
This states whether to take into account the value in the HDOP field.
Definition: gnss_messages_ascii_nmea.h:55
mrpt::obs::gnss::Message_NMEA_RMC::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:187
mrpt::obs::gnss::Message_NMEA_GGA::content_t::orthometric_altitude
double orthometric_altitude
The measured orthometric altitude, in meters (A)+(B).
Definition: gnss_messages_ascii_nmea.h:47
mrpt::obs::gnss::Message_NMEA_ZDA::content_t::UTCTime
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
Definition: gnss_messages_ascii_nmea.h:239
mrpt::obs::gnss::Message_NMEA_GSA::content_t::content_t
content_t()
Definition: gnss_messages_ascii_nmea.cpp:205
mrpt::obs::gnss::Message_NMEA_GSA::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_ascii_nmea.cpp:209
mrpt::obs::gnss::Message_NMEA_GGA::content_t::geoidal_distance
double geoidal_distance
Undulation: Difference between the measured altitude and the geoid, in meters (B).
Definition: gnss_messages_ascii_nmea.h:45
mrpt::obs::gnss::Message_NMEA_ZDA::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:261
mrpt::system::TTimeParts::month
uint8_t month
The year.
Definition: datetime.h:52
mrpt::obs::gnss::Message_NMEA_RMC::content_t::date_year
uint8_t date_year
Definition: gnss_messages_ascii_nmea.h:157
mrpt::obs::gnss::Message_NMEA_RMC::content_t::date_day
uint8_t date_day
Date: day (1-31), month (1-12), two-digits year (00-99)
Definition: gnss_messages_ascii_nmea.h:157
mrpt::obs::gnss::Message_NMEA_GLL::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:95
mrpt::obs::gnss
GNSS (GPS) data structures, mainly for use within mrpt::obs::CObservationGPS.
Definition: gnss_messages_ascii_nmea.h:13
mrpt::system::TTimeParts::minute
uint8_t minute
Hour (0-23)
Definition: datetime.h:55
mrpt::obs::gnss::Message_NMEA_GLL::content_t::content_t
content_t()
Definition: gnss_messages_ascii_nmea.cpp:82
mrpt::obs::gnss::Message_NMEA_RMC::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:193
mrpt::obs::gnss::Message_NMEA_RMC::content_t::UTCTime
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
Definition: gnss_messages_ascii_nmea.h:145
mrpt::obs::gnss::Message_NMEA_VTG::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_ascii_nmea.cpp:115
mrpt::obs::gnss::Message_NMEA_ZDA::content_t::date_month
uint8_t date_month
1-12
Definition: gnss_messages_ascii_nmea.h:243
mrpt::obs::gnss::Message_NMEA_GGA::content_t::fix_quality
uint8_t fix_quality
NMEA standard values: 0 = invalid, 1 = GPS fix (SPS), 2 = DGPS fix, 3 = PPS fix, 4 = Real Time Kinema...
Definition: gnss_messages_ascii_nmea.h:40
mrpt::obs::gnss::Message_NMEA_GLL::content_t::UTCTime
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
Definition: gnss_messages_ascii_nmea.h:116
mrpt::format
std::string std::string format(std::string_view fmt, ARGS &&... args)
Definition: format.h:26
mrpt::obs::gnss::Message_NMEA_GSA::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:228
mrpt::obs::gnss::Message_NMEA_VTG::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:126
mrpt::system
Definition: backtrace.h:14
mrpt::obs::gnss::Message_NMEA_GGA::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_ascii_nmea.cpp:20
mrpt::obs::gnss::UTC_time::sec
double sec
Definition: gnss_messages_common.h:193
mrpt::obs::gnss::Message_NMEA_GGA::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const override
Definition: gnss_messages_ascii_nmea.cpp:70



Page generated by Doxygen 1.8.17 for MRPT 2.0.4 at Sun Jul 19 17:54:30 UTC 2020