From cbaf00a6f6d290ddc8527cdfe4490a4284da2bf0 Mon Sep 17 00:00:00 2001 From: "Gary E. Miller" Date: Wed, 6 Feb 2019 15:57:00 -0800 Subject: driver_ubx: UBX-NAV-SOL uses new status values. --- driver_ubx.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'driver_ubx.c') diff --git a/driver_ubx.c b/driver_ubx.c index 70780560..41f681a4 100644 --- a/driver_ubx.c +++ b/driver_ubx.c @@ -362,24 +362,37 @@ ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf, case UBX_MODE_TMONLY: /* Surveyed-in, better not have moved */ session->newdata.mode = MODE_3D; + session->gpsdata.status = STATUS_TIME; mask |= GOODTIME_IS; break; case UBX_MODE_3D: session->newdata.mode = MODE_3D; + session->gpsdata.status = STATUS_FIX; + mask |= GOODTIME_IS; break; case UBX_MODE_2D: + session->newdata.mode = MODE_2D; + session->gpsdata.status = STATUS_FIX; + mask |= GOODTIME_IS; + break; case UBX_MODE_DR: /* consider this too as 2D */ - case UBX_MODE_GPSDR: /* FIX-ME: DR-aided GPS may be valid 3D */ session->newdata.mode = MODE_2D; + session->gpsdata.status = STATUS_DR; + mask |= GOODTIME_IS; + break; + case UBX_MODE_GPSDR: /* DR-aided GPS is valid 3D */ + session->newdata.mode = MODE_3D; + session->gpsdata.status = STATUS_GNSSDR; + mask |= GOODTIME_IS; break; default: session->newdata.mode = MODE_NO_FIX; + session->gpsdata.status = STATUS_NO_FIX; + break; } if ((flags & UBX_SOL_FLAG_DGPS) != 0) session->gpsdata.status = STATUS_DGPS_FIX; - else if (session->newdata.mode != MODE_NO_FIX) - session->gpsdata.status = STATUS_FIX; mask |= MODE_SET | STATUS_SET; gpsd_log(&session->context->errout, LOG_DATA, -- cgit v1.2.1