diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-09-15 15:39:58 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-09-15 15:39:58 +0000 |
commit | 44cb2f4ae38ea95477b0955e2e5535676243669a (patch) | |
tree | 6cde846d88b0856a594b079ab45024aa34e0b740 | |
parent | 681b1f0e0dd22eb62ba1145ce7f68ee1706be19f (diff) | |
download | gpsd-44cb2f4ae38ea95477b0955e2e5535676243669a.tar.gz |
Using clear_dop() means we can get rid of instances of several different flags.
All regression tests pass.
-rw-r--r-- | driver_italk.c | 2 | ||||
-rw-r--r-- | driver_nmea.c | 8 | ||||
-rw-r--r-- | driver_oncore.c | 2 | ||||
-rw-r--r-- | driver_superstar2.c | 3 | ||||
-rw-r--r-- | driver_zodiac.c | 2 |
5 files changed, 6 insertions, 11 deletions
diff --git a/driver_italk.c b/driver_italk.c index 169aeeee..ac8945f5 100644 --- a/driver_italk.c +++ b/driver_italk.c @@ -84,7 +84,7 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session, unsigned char session->gpsdata.dop.pdop = (double)(getleuw(buf, 7 + 60)/100.0); session->gpsdata.dop.vdop = (double)(getleuw(buf, 7 + 62)/100.0); session->gpsdata.dop.tdop = (double)(getleuw(buf, 7 + 64)/100.0); - mask |= HDOP_SET | GDOP_SET | PDOP_SET | VDOP_SET | TDOP_SET; + mask |= DOP_SET; } if ((pflags & FIX_FLAG_MASK_INVALID) == 0 && (flags & FIXINFO_FLAG_VALID) != 0){ diff --git a/driver_nmea.c b/driver_nmea.c index 49e7a62e..8d7b0c8d 100644 --- a/driver_nmea.c +++ b/driver_nmea.c @@ -404,13 +404,7 @@ static gps_mask_t processGPGSA(int count, char *field[], struct gps_device_t *se if (prn > 0) session->gpsdata.used[session->gpsdata.satellites_used++] = prn; } - mask |= USED_SET; - if (strlen(field[count-3]) > 0) - mask |= HDOP_SET; - if (strlen(field[count-2]) > 0) - mask |= VDOP_SET; - if (strlen(field[count-1]) > 0) - mask |= HDOP_SET; + mask |= DOP_SET | USED_SET; return mask; } diff --git a/driver_oncore.c b/driver_oncore.c index 038a3721..5bbfaaa6 100644 --- a/driver_oncore.c +++ b/driver_oncore.c @@ -147,7 +147,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, size_t data_ session->gpsdata.dop.hdop = GET_HDOP(); session->gpsdata.dop.vdop = GET_VDOP(); /* other DOP if available */ - mask |= HDOP_SET | VDOP_SET | USED_SET; + mask |= DOP_SET | USED_SET; #endif gpsd_zero_satellites(&session->gpsdata); diff --git a/driver_superstar2.c b/driver_superstar2.c index b09f3a94..9e11e801 100644 --- a/driver_superstar2.c +++ b/driver_superstar2.c @@ -197,10 +197,11 @@ superstar2_msg_navsol_ecef(struct gps_device_t *session, mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET ; session->gpsdata.satellites_used = (int)getub(buf, 79) & 0x0f; + clear_dop(&session->gpsdata.dop); session->gpsdata.dop.hdop = getleuw(buf, 74) * 0.1; session->gpsdata.dop.vdop = getleuw(buf, 76) * 0.1; /* other DOP if available */ - mask |= HDOP_SET | VDOP_SET | USED_SET; + mask |= DOP_SET | USED_SET; flags = getub(buf,70); switch (flags & 0x1f) { diff --git a/driver_zodiac.c b/driver_zodiac.c index 8ff73b7f..bf18a565 100644 --- a/driver_zodiac.c +++ b/driver_zodiac.c @@ -303,7 +303,7 @@ static gps_mask_t handle1003(struct gps_device_t *session) session->gpsdata.elevation[i] = 0; } } - return SATELLITE_SET | HDOP_SET | VDOP_SET | PDOP_SET; + return SATELLITE_SET | DOP_SET; } static void handle1005(struct gps_device_t *session UNUSED) |