From eaf16294c49f63db42b657ae57ac2f2d410e4b5f Mon Sep 17 00:00:00 2001 From: "Gary E. Miller" Date: Thu, 31 Mar 2016 19:38:11 -0700 Subject: Use NAN to signal overrange climb/speed. I see that is what libgpsd_json.c expects. --- geoid.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'geoid.c') diff --git a/geoid.c b/geoid.c index e2a5df53..5d708af2 100644 --- a/geoid.c +++ b/geoid.c @@ -126,22 +126,18 @@ void ecef_to_wgs84fix(struct gps_fix_t *fix, double *separation, fix->climb = vx * cos(phi) * cos(lambda) + vy * cos(phi) * sin(lambda) + vz * sin(phi); - /* sanity check the climb, 10,000 m/s max will do */ - if ( isnan(fix->climb) ) - fix->climb = 0; - else if ( 9999.9 < fix->climb ) - fix->climb = 9999.9; + /* sanity check the climb, 10,000 m/s should be a nice max */ + if ( 9999.9 < fix->climb ) + fix->climb = NAN; else if ( -9999.9 > fix->speed ) - fix->climb = -9999.9; + fix->climb = NAN; fix->speed = sqrt(pow(vnorth, 2) + pow(veast, 2)); - /* sanity check the speed, 10,000 m/s max will do */ - if ( isnan(fix->speed) ) - fix->speed = 0; - else if ( 9999.9 < fix->speed ) - fix->speed = 9999.9; + /* sanity check the speed, 10,000 m/s should be a nice max */ + if ( 9999.9 < fix->speed ) + fix->speed = NAN; else if ( -9999.9 > fix->speed ) - fix->speed = -9999.9; + fix->speed = NAN; heading = atan2(fix_minuz(veast), fix_minuz(vnorth)); if (heading < 0) -- cgit v1.2.1