diff options
-rw-r--r-- | cgps.c | 11 | ||||
-rw-r--r-- | gps.h | 3 | ||||
-rw-r--r-- | gpsd.h-tail | 6 | ||||
-rw-r--r-- | gpxlogger.c | 31 |
4 files changed, 26 insertions, 25 deletions
@@ -540,17 +540,16 @@ static void update_gps_panel(struct gps_data_t *gpsdata) (void)snprintf(scr, sizeof(scr), "OFFLINE"); } else { newstate = gpsdata->fix.mode; + /* + * DGPS + */ switch (gpsdata->fix.mode) { case MODE_2D: - (void)snprintf(scr, sizeof(scr), "2D %sFIX (%d secs)", - (gpsdata->status == - STATUS_DGPS_FIX) ? "DIFF " : "", + (void)snprintf(scr, sizeof(scr), "2D FIX (%d secs)", (int)(time(NULL) - status_timer)); break; case MODE_3D: - (void)snprintf(scr, sizeof(scr), "3D %sFIX (%d secs)", - (gpsdata->status == - STATUS_DGPS_FIX) ? "DIFF " : "", + (void)snprintf(scr, sizeof(scr), "3D FIX (%d secs)", (int)(time(NULL) - status_timer)); break; default: @@ -1977,8 +1977,7 @@ struct gps_data_t { /* GPS status -- always valid */ int status; /* Do we have a fix? */ #define STATUS_NO_FIX 0 /* no */ -#define STATUS_FIX 1 /* yes, without DGPS */ -#define STATUS_DGPS_FIX 2 /* yes, with DGPS */ +#define STATUS_FIX 1 /* yes */ /* precision of fix -- valid if satellites_used > 0 */ int satellites_used; /* Number of satellites used in solution */ diff --git a/gpsd.h-tail b/gpsd.h-tail index 2a3bc63e..6bef6953 100644 --- a/gpsd.h-tail +++ b/gpsd.h-tail @@ -315,6 +315,12 @@ typedef enum { event_reactivate, } event_t; +/* + * Used internally only in the gpsdata status field; not exported to + * client-side gpsdata structures. Instead this is used to change + * the base U_ERE values used by the error modeler. + */ +#define STATUS_DGPS_FIX 2 /* yes, with DGPS */ #define INTERNAL_SET(n) ((gps_mask_t)(1llu<<(SET_HIGH_BIT+(n)))) #define RAW_IS INTERNAL_SET(1) /* raw pseudorange data available */ diff --git a/gpxlogger.c b/gpxlogger.c index 8bb7e226..9f100746 100644 --- a/gpxlogger.c +++ b/gpxlogger.c @@ -89,23 +89,20 @@ static void print_fix(struct gps_data_t *gpsdata, double time) (void)fprintf(logfile," <ele>%f</ele>\n", gpsdata->fix.altitude); (void)fprintf(logfile," <time>%s</time>\n", unix_to_iso8601(time, tbuf, sizeof(tbuf))); - if (gpsdata->status == STATUS_DGPS_FIX) - (void)fprintf(logfile," <fix>dgps</fix>\n"); - else - switch (gpsdata->fix.mode) { - case MODE_3D: - (void)fprintf(logfile," <fix>3d</fix>\n"); - break; - case MODE_2D: - (void)fprintf(logfile," <fix>2d</fix>\n"); - break; - case MODE_NO_FIX: - (void)fprintf(logfile," <fix>none</fix>\n"); - break; - default: - /* don't print anything if no fix indicator */ - break; - } + switch (gpsdata->fix.mode) { + case MODE_3D: + (void)fprintf(logfile," <fix>3d</fix>\n"); + break; + case MODE_2D: + (void)fprintf(logfile," <fix>2d</fix>\n"); + break; + case MODE_NO_FIX: + (void)fprintf(logfile," <fix>none</fix>\n"); + break; + default: + /* don't print anything if no fix indicator */ + break; + } if ((gpsdata->fix.mode > MODE_NO_FIX) && (gpsdata->satellites_used > 0)) (void)fprintf(logfile," <sat>%d</sat>\n", gpsdata->satellites_used); |