diff options
author | Gary E. Miller <gem@rellim.com> | 2017-01-09 15:23:38 -0800 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2017-01-09 15:23:38 -0800 |
commit | abefd5c286bba507729252c097c0cb895b3acf44 (patch) | |
tree | ef7de56318e86a5759ed797e991040f4ada1344d /driver_nmea0183.c | |
parent | 7bc5e8c1a2ffb49afc1e75bf699a643687713e12 (diff) | |
download | gpsd-abefd5c286bba507729252c097c0cb895b3acf44.tar.gz |
nmea 0183: better fix for non-updating DOPs.
regressions updated. Other rdivers prolly need similar fixes.
Diffstat (limited to 'driver_nmea0183.c')
-rw-r--r-- | driver_nmea0183.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c index ba1969c7..64b9de7c 100644 --- a/driver_nmea0183.c +++ b/driver_nmea0183.c @@ -617,8 +617,6 @@ static gps_mask_t processGSA(int count, char *field[], session->gpsdata.dop.hdop = safe_atof(field[16]); if (field[17][0] != '\0') session->gpsdata.dop.vdop = safe_atof(field[17]); - /* clear computed DOPs so they get recomputed. */ - session->gpsdata.dop.tdop = NAN; /* * might have gone from GPGSA to GLGSA/BDGSA * or GNGSA to GNGSA @@ -856,6 +854,12 @@ static gps_mask_t processGSV(int count, char *field[], /* assumes GLGSV or BDGSV group, if present, is emitted after the GPGSV */ if ((session->nmea.seen_glgsv || session->nmea.seen_bdgsv || session->nmea.seen_qzss) && GSV_TALKER == 'P') return ONLINE_SET; + + /* clear computed DOPs so they get recomputed. */ + session->gpsdata.dop.xdop = NAN; + session->gpsdata.dop.ydop = NAN; + session->gpsdata.dop.tdop = NAN; + session->gpsdata.dop.gdop = NAN; return SATELLITE_SET; #undef GSV_TALKER } |