diff options
author | Michael Tatarinov <kukabu@gmail.com> | 2012-10-23 10:07:32 +0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2012-10-23 06:13:47 -0400 |
commit | ffade307317ee9ff85fc9ec1b8253564f217bfa9 (patch) | |
tree | 95a753bab41a662bd4f91aff28c1d72eac962c50 /driver_nmea0183.c | |
parent | fa8834b25c9ea0b5e7b493d61e05d611ca47cb16 (diff) | |
download | gpsd-ffade307317ee9ff85fc9ec1b8253564f217bfa9.tar.gz |
Mapping NMEA-ID (33..64) to SBAS PRN and minor refactoring.
This change required a regression-test rebuild.
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Diffstat (limited to 'driver_nmea0183.c')
-rw-r--r-- | driver_nmea0183.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c index 65b6fe14..828f1b2d 100644 --- a/driver_nmea0183.c +++ b/driver_nmea0183.c @@ -571,6 +571,14 @@ static gps_mask_t processGPGSV(int count, char *field[], } session->gpsdata.PRN[session->gpsdata.satellites_visible] = atoi(field[fldnum++]); + /* + * NMEA-ID (33..64) to SBAS PRN. + * Check SBAS_PRN(NMEA-ID) is required because some GPSes sends RPN instead of NMEA-ID. + */ + if (session->gpsdata.PRN[session->gpsdata.satellites_visible] >= 33 + && session->gpsdata.PRN[session->gpsdata.satellites_visible] <= 64 + && !SBAS_PRN(session->gpsdata.PRN[session->gpsdata.satellites_visible])) + session->gpsdata.PRN[session->gpsdata.satellites_visible] += 87; session->gpsdata.elevation[session->gpsdata.satellites_visible] = atoi(field[fldnum++]); session->gpsdata.azimuth[session->gpsdata.satellites_visible] = |