27 #ifndef NIDIS_DYNLD_GPS_NMEA_SERIAL_H
28 #define NIDIS_DYNLD_GPS_NMEA_SERIAL_H
32 namespace nidas {
namespace dynld {
34 using namespace nidas::core;
56 bool process(
const Sample* samp,std::list<const Sample*>& results)
64 checksumOK(
const char* rec,
int len);
73 findChecksum(
char& checksum,
const char* rec,
int len);
82 calcChecksum(
const char* rec,
int len);
90 appendChecksum(
char* rec,
int len,
int maxlen);
153 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
156 static const int GGA_SAMPLE_ID = 1;
162 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
165 static const int RMC_SAMPLE_ID = 2;
171 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
174 static const int HDT_SAMPLE_ID = 3;
unsigned int _badChecksumsCount
Definition: GPS_NMEA_Serial.h:178
A class for reading NMEA records from a GPS.
Definition: GPS_NMEA_Serial.h:41
unsigned int dsm_sample_id_t
Definition: Sample.h:63
static const int RMC_SAMPLE_ID
Id of sample from RMC NMEA record.
Definition: GPS_NMEA_Serial.h:163
unsigned int _badChecksums
Definition: GPS_NMEA_Serial.h:177
Support for a sensor that is sending packets on a TCP socket, a UDP socket, a Bluetooth RF Comm socke...
Definition: SerialSensor.h:64
long long dsm_time_t
Posix time in microseconds, the number of non-leap microseconds since 1970 Jan 1 00:00 UTC...
Definition: Sample.h:61
int _ggaNvars
Number of variables requested from GGA record (sample id == 1)
Definition: GPS_NMEA_Serial.h:123
static const int GGA_SAMPLE_ID
Id of sample from GGA NMEA record.
Definition: GPS_NMEA_Serial.h:154
static const int HDT_SAMPLE_ID
Id of sample from HDT NMEA record.
Definition: GPS_NMEA_Serial.h:172
int _rmcNvars
Number of variables requested from RMC record (sample id == 2)
Definition: GPS_NMEA_Serial.h:133
int _hdtNvars
Number of variables requested from HDT record (sample id == 3)
Definition: GPS_NMEA_Serial.h:143
dsm_sample_id_t _ggaId
Full sample id of GGA variables.
Definition: GPS_NMEA_Serial.h:128
dsm_sample_id_t _hdtId
Full sample id of HDT variables.
Definition: GPS_NMEA_Serial.h:148
int len
Definition: sing.cc:934
Interface to a data sample.
Definition: Sample.h:189
std::map< int, std::string > _allowedSampleIds
Derived classes should add their supported sample ids to the map, along with a short descriptive name...
Definition: GPS_NMEA_Serial.h:185
A scanner of sample data.
Definition: SampleScanner.h:73
dsm_time_t _ttgps
Timetag set by parseGGA and parseRMC, used by parseHDT.
Definition: GPS_NMEA_Serial.h:118
dsm_sample_id_t _rmcId
Full sample id of RMC variables.
Definition: GPS_NMEA_Serial.h:138
Definition: InvalidParameterException.h:35