summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver_nmea0183.c18
-rw-r--r--gps.h3
-rw-r--r--test/daemon/GPSmap-76S.log.chk4
-rw-r--r--test/daemon/garmin-geko201.log.chk6
4 files changed, 20 insertions, 11 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c
index c65b9f08..182a37d8 100644
--- a/driver_nmea0183.c
+++ b/driver_nmea0183.c
@@ -698,20 +698,28 @@ static gps_mask_t processGGA(int c UNUSED, char *field[],
case 2: /* differential */
newstatus = STATUS_DGPS_FIX;
break;
- /* no 3 */
- case 4: /* fixed RTK */
+ case 3:
+ /* GPS PPS, fix valid, could be 2D, 3D, GNSSDR */
+ newstatus = STATUS_FIX;
+ break;
+ case 4: /* RTK integer */
newstatus = STATUS_RTK_FIX;
break;
- case 5: /* float RTK */
+ case 5: /* RTK float */
newstatus = STATUS_RTK_FLT;
break;
case 6:
/* dead reckoning, could be valid or invalid */
newstatus = STATUS_DR;
break;
+ case 7:
+ /* manual input, surveyed */
+ newstatus = STATUS_TIME;
+ break;
case 8:
- /* WTF? Garmin GPSMAP and Gecko sends an 8, but undocumented */
- newstatus = STATUS_FIX;
+ /* simulated mode */
+ /* Garmin GPSMAP and Gecko sends an 8, but undocumented */
+ newstatus = STATUS_SIM;
break;
default:
newstatus = -1;
diff --git a/gps.h b/gps.h
index 0c550b98..86eb5015 100644
--- a/gps.h
+++ b/gps.h
@@ -2129,7 +2129,8 @@ struct gps_data_t {
#define STATUS_RTK_FLT 4 /* yes, with RTK Float */
#define STATUS_DR 5 /* yes, with dead reckoning */
#define STATUS_GNSSDR 6 /* yes, with GNSS + dead reckoning */
-#define STATUS_TIME 7 /* yes, time only (surveyed in) */
+#define STATUS_TIME 7 /* yes, time only (surveyed in, manual) */
+#define STATUS_SIM 8 /* yes, simulated */
/* precision of fix -- valid if satellites_used > 0 */
int satellites_used; /* Number of satellites used in solution */
diff --git a/test/daemon/GPSmap-76S.log.chk b/test/daemon/GPSmap-76S.log.chk
index a88ea416..cf4c1636 100644
--- a/test/daemon/GPSmap-76S.log.chk
+++ b/test/daemon/GPSmap-76S.log.chk
@@ -1,9 +1,9 @@
$GPRMC,125106,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*28
$GPRMB,V,,,,,,,,,,,,A,S*0E
$GPGGA,125106,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7F
-{"class":"TPV","mode":3,"lat":38.908478333,"lon":-77.440871667,"alt":268.800}
+{"class":"TPV","status":8,"mode":3,"lat":38.908478333,"lon":-77.440871667,"alt":268.800}
$GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A
-{"class":"TPV","mode":3,"lat":38.908478333,"lon":-77.440871667,"alt":268.800,"epv":69.000}
+{"class":"TPV","status":8,"mode":3,"lat":38.908478333,"lon":-77.440871667,"alt":268.800,"epv":69.000}
$GPGSV,3,1,10,03,41,050,46,07,60,317,49,08,34,315,45,11,35,148,45*71
$GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74
$GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D
diff --git a/test/daemon/garmin-geko201.log.chk b/test/daemon/garmin-geko201.log.chk
index bf6df394..dc00f2b8 100644
--- a/test/daemon/garmin-geko201.log.chk
+++ b/test/daemon/garmin-geko201.log.chk
@@ -1,9 +1,9 @@
$GPRMC,214350,V,4023.8600,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*21
$GPRMB,V,,,,,,,,,,,,A,S*0E
$GPGGA,214350,4023.8600,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5A
-{"class":"TPV","mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.700}
+{"class":"TPV","status":8,"mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.700}
$GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A
-{"class":"TPV","mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.700,"epv":69.000}
+{"class":"TPV","status":8,"mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.700,"epv":69.000}
$GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77
$GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71
$GPGSV,3,3,09,30,67,294,50*48
@@ -12,7 +12,7 @@ $GPGLL,4023.8600,N,00339.1630,W,214350,V,S*57
$GPBOD,,T,,M,,*47
$PGRME,15.0,M,22.5,M,27.0,M*1A
$PGRMZ,2282,f,3*21
-{"class":"TPV","mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.554,"epx":22.022,"epy":22.022,"epv":46.716}
+{"class":"TPV","status":8,"mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.554,"epx":22.022,"epy":22.022,"epv":46.716}
$GPRTE,1,1,c,*37
$GPRMC,214352,V,4023.8660,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*25
{"class":"TPV","mode":1}