[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.
- [gpsd-dev] Fix for the u-blox driver,
Pavel Kirienko <=