summaryrefslogtreecommitdiff
path: root/driver_ubx.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2019-02-06 15:57:00 -0800
committerGary E. Miller <gem@rellim.com>2019-02-06 15:57:00 -0800
commitcbaf00a6f6d290ddc8527cdfe4490a4284da2bf0 (patch)
tree35ee852decc34a17d9ffb71f47fbc110e791ecb4 /driver_ubx.c
parent38d60082cd697eb17aea9f5b8596aa0cc95b65d3 (diff)
downloadgpsd-cbaf00a6f6d290ddc8527cdfe4490a4284da2bf0.tar.gz
driver_ubx: UBX-NAV-SOL uses new status values.
Diffstat (limited to 'driver_ubx.c')
-rw-r--r--driver_ubx.c19
1 files changed, 16 insertions, 3 deletions
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,