summaryrefslogtreecommitdiff
path: root/gpsutils.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-09-03 10:16:43 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-09-03 10:16:43 +0000
commitff1a623dbdca3fa26de67d88739d9a039b8e39ea (patch)
treee5dd06d01abeba8e9210f65f79d4c19eeeb4cb94 /gpsutils.c
parentd5755a55b8681c04ee0de3dc683124e581e47a9b (diff)
downloadgpsd-ff1a623dbdca3fa26de67d88739d9a039b8e39ea.tar.gz
Split eph into epx and epy internally...
...but still report eph by re-mixing them in the JSON dumper. This was worth doing because all regression tests still pass, showing that visible behavior for old-protocol users gas not changed.
Diffstat (limited to 'gpsutils.c')
-rw-r--r--gpsutils.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gpsutils.c b/gpsutils.c
index 8e75e3f6..f30a70e7 100644
--- a/gpsutils.c
+++ b/gpsutils.c
@@ -25,7 +25,8 @@ void gps_clear_fix(/*@out@*/struct gps_fix_t *fixp)
fixp->climb = NAN;
fixp->altitude = NAN;
fixp->ept = NAN;
- fixp->eph = NAN;
+ fixp->epx = NAN;
+ fixp->epy = NAN;
fixp->epv = NAN;
fixp->epd = NAN;
fixp->eps = NAN;
@@ -52,7 +53,7 @@ unsigned int gps_valid_fields(/*@in@*/struct gps_fix_t *fixp)
valid |= CLIMB_SET;
if (isnan(fixp->ept) == 0)
valid |= TIMERR_SET;
- if (isnan(fixp->eph) == 0)
+ if (isnan(fixp->epx) == 0 && isnan(fixp->epy) == 0)
valid |= HERR_SET;
if (isnan(fixp->epv) == 0)
valid |= VERR_SET;
@@ -125,8 +126,10 @@ void gps_merge_fix(/*@ out @*/struct gps_fix_t *to,
to->climb = from->climb;
if ((transfer & TIMERR_SET)!=0)
to->ept = from->ept;
- if ((transfer & HERR_SET)!=0)
- to->eph = from->eph;
+ if ((transfer & HERR_SET)!=0) {
+ to->epx = from->epx;
+ to->epy = from->epy;
+ }
if ((transfer & VERR_SET)!=0)
to->epv = from->epv;
if ((transfer & SPEEDERR_SET)!=0)