19 Message_NMEA_GGA::content_t::content_t() : UTCTime() {}
22 out <<
"[NMEA GGA datum]\n";
24 " Longitude: %.09f deg Latitude: %.09f deg Height: %.03f m\n",
29 " Geoidal distance: %.03f m Orthometric alt.: %.03f m Corrected " 30 "ort. alt.: %.03f m\n",
40 const char* fix_names[] = {
"0:Invalid",
49 "9:mmGPS + RTK Fixed",
50 "10: mmGPS + RTK Float"};
55 out <<
"(UNKNOWN!)\n";
57 out <<
" HDOP (Horizontal Dilution of Precision): ";
66 o <<
"lon_deg lat_deg hgt_m undulation_m hour min sec num_sats fix_quality " 73 "%.09f %.09f %.04f %.04f %02u %02u %02.03f %2u %u %f",
85 out <<
"[NMEA GLL datum]\n";
87 " Longitude: %.09f deg Latitude: %.09f deg Validity: '%c'\n",
97 o <<
"lon_deg lat_deg hour min sec validity";
117 out <<
"[NMEA VTG datum]\n";
119 " True track: %.03f deg Magnetic track: %.03f deg\n",
122 " Ground speed: %.03f knots %.03f km/h\n",
fields.ground_speed_knots,
128 o <<
"true_track mag_track gnd_speed_knots gnd_speed_kmh";
134 "%.09f %.09f %.09f %.09f",
fields.true_track,
fields.magnetic_track,
148 uint16_t years_century;
152 years_century = (dec_parts.
year / 100) * 100;
167 out <<
"[NMEA RMC datum]\n";
173 " Date (DD/MM/YY): %02u/%02u/%02u\n ",
177 " Longitude: %.09f deg Latitude: %.09f deg Valid?: '%c'\n",
189 o <<
"lon_deg lat_deg hour min sec speed_knots direction_deg year month " 196 "%.09f %.09f %02u %02u %02.03f %.05f %.03f %02u %02u %02u",
207 for (
int i = 0; i < 12; i++) PRNs[i][0] = PRNs[i][1] =
'\0';
211 out <<
"[NMEA GSA datum]\n";
212 out <<
"auto_selection_fix: " <<
fields.auto_selection_fix
215 <<
fields.fix_2D_3D <<
"\n";
216 for (
int i = 0; i < 12; i++)
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";
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",
252 out <<
"[NMEA ZDA datum]\n";
263 o <<
"year month day hour minute second";
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
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...
uint8_t fix_quality
NMEA standard values: 0 = invalid, 1 = GPS fix (SPS), 2 = DGPS fix, 3 = PPS fix, 4 = Real Time Kinema...
content_t fields
Message content, accesible by individual fields.
bool getAllFieldValues(std::ostream &o) const override
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
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...
bool getAllFieldValues(std::ostream &o) const override
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
std::string std::string format(std::string_view fmt, ARGS &&... args)
content_t fields
Message content, accesible by individual fields.
mrpt::system::TTimeStamp buildTimestampFromParts(const mrpt::system::TTimeParts &p)
Builds a timestamp from the parts (Parts are in UTC)
uint32_t satellitesUsed
The number of satelites used to compute this estimation.
bool getAllFieldDescriptions(std::ostream &o) const override
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
double orthometric_altitude
The measured orthometric altitude, in meters (A)+(B).
bool getAllFieldValues(std::ostream &o) const override
bool getAllFieldDescriptions(std::ostream &o) const override
mrpt::Clock::time_point TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
double altitude_meters
The measured altitude, in meters (A).
bool thereis_HDOP
This states whether to take into account the value in the HDOP field.
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
double corrected_orthometric_altitude
The corrected (only for TopCon mmGPS) orthometric altitude, in meters mmGPS(A+B). ...
mrpt::system::TTimeStamp getDateAsTimestamp() const
Build an MRPT timestamp with the year/month/day of this observation.
bool getAllFieldDescriptions(std::ostream &o) const override
The parts of a date/time (it's like the standard 'tm' but with fractions of seconds).
uint8_t date_day
Date: day (1-31), month (1-12), two-digits year (00-99)
content_t fields
Message content, accesible by individual fields.
float HDOP
The HDOP (Horizontal Dilution of Precision) as returned by the sensor.
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
bool getAllFieldValues(std::ostream &o) const override
bool getAllFieldValues(std::ostream &o) const override
bool getAllFieldDescriptions(std::ostream &o) const override
GNSS (GPS) data structures, mainly for use within mrpt::obs::CObservationGPS.
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
double second
Minute (0-59)
double geoidal_distance
Undulation: Difference between the measured altitude and the geoid, in meters (B).
double magnetic_dir
Magnetic variation direction (East:+, West:-)
mrpt::system::TTimeStamp getDateAsTimestamp() const
Build an MRPT timestamp with the year/month/day of this observation.
mrpt::system::TTimeStamp getDateTimeAsTimestamp() const
Build an MRPT UTC timestamp with the year/month/day + hour/minute/sec of this observation.
bool getAllFieldValues(std::ostream &o) const override
bool getAllFieldDescriptions(std::ostream &o) const override
double speed_knots
Measured speed (in knots)
uint8_t minute
Hour (0-23)
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
bool getAllFieldDescriptions(std::ostream &o) const override
mrpt::vision::TStereoCalibResults out
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
double direction_degrees
Measured speed direction (in degrees)
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
char positioning_mode
'A': Autonomous, 'D': Differential, 'N': Not valid, 'E': Estimated, 'M': Manual
content_t fields
Message content, accesible by individual fields.
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
uint16_t date_year
2000-...
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)