diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2005-03-29 03:48:33 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2005-03-29 03:48:33 +0000 |
commit | a8d7c3dad55d8acea756d3bd8a3c8d5665936b7f (patch) | |
tree | 75bf2e9b514ee6a2f988a71a29d35e1e1f32d0da /nmea_parse.c | |
parent | c80ceb03d55712cca9cdd22cb5a8d63ccca7227f (diff) | |
download | gpsd-a8d7c3dad55d8acea756d3bd8a3c8d5665936b7f.tar.gz |
Make the talker ID prefix a compile-time parameter.
Diffstat (limited to 'nmea_parse.c')
-rw-r--r-- | nmea_parse.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/nmea_parse.c b/nmea_parse.c index f9b4baaa..55950cbd 100644 --- a/nmea_parse.c +++ b/nmea_parse.c @@ -474,12 +474,12 @@ int nmea_parse(char *sentence, struct gps_data_t *outdata) int mask; nmea_decoder decoder; } nmea_phrase[] = { - {"GPRMC", GPRMC, processGPRMC}, - {"GPGGA", GPGGA, processGPGGA}, - {"GPGLL", GPGLL, processGPGLL}, - {"GPGSA", GPGSA, processGPGSA}, - {"GPGSV", GPGSV, processGPGSV}, - {"GZDA", GPZDA, processGPZDA}, + {"RMC", GPRMC, processGPRMC}, + {"GGA", GPGGA, processGPGGA}, + {"GLL", GPGLL, processGPGLL}, + {"GSA", GPGSA, processGPGSA}, + {"GSV", GPGSV, processGPGSV}, + {"DA", GPZDA, processGPZDA}, {"PGRME", PGRME, processPGRME}, }; @@ -511,6 +511,8 @@ int nmea_parse(char *sentence, struct gps_data_t *outdata) *p = 0; field[count] = ++p; } + if (field[0][0] == TALKERID1 && field[0][1] == TALKERID2) + field[0] += 2; /* dispatch on field zero, the sentence tag */ for (i = 0; i < sizeof(nmea_phrase)/sizeof(nmea_phrase[0]); ++i) { if (!strcmp(nmea_phrase[i].name, field[0])) { |