summaryrefslogtreecommitdiff
path: root/driver_italk.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver_italk.c')
-rw-r--r--driver_italk.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/driver_italk.c b/driver_italk.c
index 0f69d077..f15363e2 100644
--- a/driver_italk.c
+++ b/driver_italk.c
@@ -32,11 +32,11 @@ static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *,
static gps_mask_t decode_itk_subframe(struct gps_device_t *, unsigned char *,
size_t);
+/* NAVIGATION_MSG, message id 7 */
static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
unsigned char *buf, size_t len)
{
unsigned short flags, pflags;
- double eph;
gps_mask_t mask = 0;
if (len != 296) {
@@ -76,10 +76,12 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
session->newdata.ecef.vy, session->newdata.ecef.vz);
mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET
| ECEF_SET | VECEF_SET;
- eph = (double)(getles32(buf, 7 + 252) / 100.0);
- /* eph is a circular error, sqrt(epx**2 + epy**2) */
- session->newdata.epx = session->newdata.epy = eph / sqrt(2);
+ /* this eph does not look right, badly documented.
+ * let gpsd_error_model() handle it
+ * session->newdata.eph = (double)(getles32(buf, 7 + 252) / 100.0);
+ */
session->newdata.eps = (double)(getles32(buf, 7 + 254) / 100.0);
+ /* compute epx/epy in gpsd_error_model(), not here */
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
session->gpsdata.satellites_used =