gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] Fix for the u-blox driver


From: Pavel Kirienko
Subject: [gpsd-dev] Fix for the u-blox driver
Date: Wed, 20 Nov 2013 21:19:36 +0400

Hi list,

Current implementation of the u-blox driver parses the EPX/EPY/EPS
values properly, but it does not update bitfields SPEEDERR_SET and
HERR_SET.
Since the mask is not being updated, the estimated accuracy is being
immediately overwritten from gpsd_error_model().

Fix:

diff --git a/driver_ubx.c b/driver_ubx.c
index bd0559d..9b8b5d6 100644
--- a/driver_ubx.c
+++ b/driver_ubx.c
@@ -108,6 +108,7 @@ ubx_msg_nav_sol(struct gps_device_t *session,
unsigned char *buf,
     session->newdata.epx = session->newdata.epy =
        (double)(getles32(buf, 24) / 100.0) / sqrt(2);
     session->newdata.eps = (double)(getles32(buf, 40) / 100.0);
+    mask |= HERR_SET | SPEEDERR_SET;
     /* Better to have a single point of truth about DOPs */
     //session->gpsdata.dop.pdop = (double)(getleu16(buf, 44)/100.0);
     session->gpsdata.satellites_used = (int)getub(buf, 47);

Best regards,
Pavel.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]