diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-09-30 22:03:11 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-09-30 22:03:11 +0000 |
commit | 97b9548cff261e13a5b592d31add94631ff4dbc9 (patch) | |
tree | f46a1c984d841d3d2d8d83836d01db57d3e8ccf9 | |
parent | b9f18fea09961f5e7476130a67e4e89379e12571 (diff) | |
download | gpsd-97b9548cff261e13a5b592d31add94631ff4dbc9.tar.gz |
Fix computation of epx and epy from eph.
Factor of 1/sqrt(2) has to be applied (on the assumption that epx and
epy are equal).
-rw-r--r-- | driver_garmin.c | 5 | ||||
-rw-r--r-- | driver_garmin_txt.c | 3 | ||||
-rw-r--r-- | driver_italk.c | 6 | ||||
-rw-r--r-- | driver_navcom.c | 23 | ||||
-rw-r--r-- | driver_nmea.c | 2 | ||||
-rw-r--r-- | driver_sirf.c | 2 | ||||
-rw-r--r-- | driver_ubx.c | 2 | ||||
-rw-r--r-- | driver_zodiac.c | 2 | ||||
-rw-r--r-- | libgps.c | 2 | ||||
-rw-r--r-- | test/stable/garmin17n.log.chk | 4 | ||||
-rw-r--r-- | test/stable/garmin38.log.chk | 10 | ||||
-rw-r--r-- | test/stable/garmin48.log.chk | 12 | ||||
-rw-r--r-- | test/stable/navcom.log.chk | 44 | ||||
-rw-r--r-- | test/stable/tn204.log.chk | 12 |
14 files changed, 65 insertions, 64 deletions
diff --git a/driver_garmin.c b/driver_garmin.c index fdc431ba..6ee8932e 100644 --- a/driver_garmin.c +++ b/driver_garmin.c @@ -349,6 +349,8 @@ gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id gpsd_report(LOG_INF, "Garmin Product Desc: %s\n" , &buf[4]); mask |= DEVICEID_SET; + gpsd_report(LOG_DATA, "PRODUCT_DATA: subtype=%s mask=%s\n", + session->subtype, gpsd_maskdump(mask)); break; case GARMIN_PKTID_PVT_DATA: gpsd_report(LOG_PROG, "Appl, PVT Data Sz: %d\n", pkt_len); @@ -398,7 +400,8 @@ gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id // If this assumption changes here, it should also change in // nmea_parse.c where we analyze PGRME. session->gpsdata.epe = pvt->epe * (GPSD_CONFIDENCE/CEP50_SIGMA); - session->gpsdata.fix.epx = session->gpsdata.fix.epy = pvt->eph * (GPSD_CONFIDENCE/CEP50_SIGMA); + /* eph is a circular error, sqrt(epx**2 + epy**2) */ + session->gpsdata.fix.epx = session->gpsdata.fix.epy = pvt->eph * (1/sqrt(2)) * (GPSD_CONFIDENCE/CEP50_SIGMA); session->gpsdata.fix.epv = pvt->epv * (GPSD_CONFIDENCE/CEP50_SIGMA); // convert lat/lon to directionless speed diff --git a/driver_garmin_txt.c b/driver_garmin_txt.c index 13f10881..397d605d 100644 --- a/driver_garmin_txt.c +++ b/driver_garmin_txt.c @@ -378,7 +378,8 @@ gps_mask_t garmintxt_parse(struct gps_device_t *session) do { double eph; if (0 != gar_decode((char *) session->packet.outbuffer+31, 3, "", 1.0, &eph)) break; - session->gpsdata.fix.epx = session->gpsdata.fix.epy = eph * (GPSD_CONFIDENCE/CEP50_SIGMA); + /* eph is a circular error, sqrt(epx**2 + epy**2) */ + session->gpsdata.fix.epx = session->gpsdata.fix.epy = eph * (1/sqrt(2)) * (GPSD_CONFIDENCE/CEP50_SIGMA); mask |= HERR_SET; } while (0); diff --git a/driver_italk.c b/driver_italk.c index 0bf4f574..47630e79 100644 --- a/driver_italk.c +++ b/driver_italk.c @@ -32,7 +32,7 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session, unsigned char unsigned int tow; unsigned short gps_week, flags, cflags, pflags; gps_mask_t mask = 0; - double epx, epy, epz, evx, evy, evz; + double epx, epy, epz, evx, evy, evz, eph; double t; if (len != 296){ @@ -69,7 +69,9 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session, unsigned char evz = (double)(getlesl(buf, 7 + 194)/1000.0); ecef_to_wgs84fix(&session->gpsdata, epx, epy, epz, evx, evy, evz); mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET ; - session->gpsdata.fix.epx = session->gpsdata.fix.epy = (double)(getlesl(buf, 7 + 252)/100.0); + eph = (double)(getlesl(buf, 7 + 252)/100.0); + /* eph is a circular error, sqrt(epx**2 + epy**2) */ + session->gpsdata.fix.epx = session->gpsdata.fix.epy = eph/sqrt(2); session->gpsdata.fix.eps = (double)(getlesl(buf, 7 + 254)/100.0); #define MAX(a,b) (((a) > (b)) ? (a) : (b)) diff --git a/driver_navcom.c b/driver_navcom.c index 8beef935..826fb12e 100644 --- a/driver_navcom.c +++ b/driver_navcom.c @@ -391,6 +391,7 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session) #define VEL_RES (0.0009765625) double track; uint8_t fom, gdop, pdop, hdop, vdop, tdop, tfom; + double eph; /* This value means "undefined" */ #define DOP_UNDEFINED (255) @@ -480,19 +481,13 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session) vdop = getub(buf, 44); tdop = getub(buf, 45); tfom = getub(buf, 46); - /*@ +type @*/ - /* splint apparently gets confused about C promotion rules. */ - /* "Assignment of arbitrary unsigned integral type to double" on these */ -#ifndef S_SPLINT_S - session->gpsdata.fix.epx = session->gpsdata.fix.epy = fom/100.0*1.96/*Two sigma*/; - /* FIXME - Which units is tfom in (spec doesn't say) and - which units does gpsd require? (docs don't say) */ - session->gpsdata.fix.ept = tfom*1.96/*Two sigma*/; - /* FIXME This cannot possibly be right */ - /* I cannot find where to get VRMS from in the Navcom output, though, - and this value seems to agree with the output from other software */ - session->gpsdata.fix.epv = (double)fom/(double)hdop*(double)vdop/100.0*1.96/*Two sigma*/; + /* Get two-sigma horizontal circular error estimate */ + eph = fom/100.0 * 1.96; + /* approximate epx and epy errors from it */ + session->gpsdata.fix.epx = session->gpsdata.fix.epy = eph/sqrt(2); + /* FIXME - Which units is tfom in (spec doesn't say) */ + session->gpsdata.fix.ept = tfom * 1.96 /*Two sigma*/; clear_dop(&session->gpsdata.dop); if (gdop != DOP_UNDEFINED) @@ -505,7 +500,7 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session) session->gpsdata.dop.vdop = vdop/10.0; if (tdop != DOP_UNDEFINED) session->gpsdata.dop.tdop = tdop/10.0; -#endif /* S_SPLINT_S */ + /*@ +type @*/ gpsd_report(LOG_PROG, "Navcom: received packet type 0xb1 (PVT Report)\n"); gpsd_report(LOG_IO, "Navcom: navigation mode %s (0x%02x) - %s - %s\n", @@ -518,7 +513,7 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session) "Navcom: velocities: north = %f, east = %f, up = %f (track = %f, speed = %f)\n", vel_north*VEL_RES, vel_east*VEL_RES, vel_up*VEL_RES, session->gpsdata.fix.track, session->gpsdata.fix.speed); - /* relies on the fact that expcx and epy are set to same value */ + /* relies on the fact that expx and epy are set to same value */ gpsd_report(LOG_IO, "Navcom: hrms = %f, vrms = %f, gdop = %f, pdop = %f, " "hdop = %f, vdop = %f, tdop = %f\n", diff --git a/driver_nmea.c b/driver_nmea.c index 2df7ac7d..20e29691 100644 --- a/driver_nmea.c +++ b/driver_nmea.c @@ -539,7 +539,7 @@ static gps_mask_t processPGRME(int c UNUSED, char *field[], struct gps_device_t } else { - session->gpsdata.fix.epx = session->gpsdata.fix.epy = atof(field[1]) * (GPSD_CONFIDENCE/CEP50_SIGMA); + session->gpsdata.fix.epx = session->gpsdata.fix.epy = atof(field[1]) * (1/sqrt(2)) * (GPSD_CONFIDENCE/CEP50_SIGMA); session->gpsdata.fix.epv = atof(field[3]) * (GPSD_CONFIDENCE/CEP50_SIGMA); session->gpsdata.epe = atof(field[5]) * (GPSD_CONFIDENCE/CEP50_SIGMA); mask = HERR_SET | VERR_SET | PERR_SET; diff --git a/driver_sirf.c b/driver_sirf.c index 1ecb8deb..3bf356d1 100644 --- a/driver_sirf.c +++ b/driver_sirf.c @@ -524,7 +524,7 @@ static gps_mask_t sirf_msg_geodetic(struct gps_device_t *session, unsigned char mask |= LATLON_SET; if ((eph = getbesl(buf, 50)*1e-2) > 0) { - session->gpsdata.fix.epx = session->gpsdata.fix.epy = eph; + session->gpsdata.fix.epx = session->gpsdata.fix.epy = eph/sqrt(2); mask |= HERR_SET; } if ((session->gpsdata.fix.epv = getbesl(buf, 54)*1e-2) > 0) diff --git a/driver_ubx.c b/driver_ubx.c index 257c6de1..c5b808d2 100644 --- a/driver_ubx.c +++ b/driver_ubx.c @@ -91,7 +91,7 @@ ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf, size_t data_le evz = (double)(getlesl(buf, 36)/100.0); ecef_to_wgs84fix(&session->gpsdata, epx, epy, epz, evx, evy, evz); mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET; - session->gpsdata.fix.epx = session->gpsdata.fix.epy = (double)(getlesl(buf, 24)/100.0); + session->gpsdata.fix.epx = session->gpsdata.fix.epy = (double)(getlesl(buf, 24)/100.0)/sqrt(2); session->gpsdata.fix.eps = (double)(getlesl(buf, 40)/100.0); /* Better to have a single point of truth about DOPs */ //session->gpsdata.dop.pdop = (double)(getleuw(buf, 44)/100.0); diff --git a/driver_zodiac.c b/driver_zodiac.c index 86319365..f7c45b99 100644 --- a/driver_zodiac.c +++ b/driver_zodiac.c @@ -188,7 +188,7 @@ static gps_mask_t handle1000(struct gps_device_t *session) * The manual says these are 1-sigma. Device reports only eph, circular * error; no harm in assigning it to both x and y components. */ - session->gpsdata.fix.epx = session->gpsdata.fix.epy = (int)getzlong(40) * 1e-2 * GPSD_CONFIDENCE; + session->gpsdata.fix.epx = session->gpsdata.fix.epy = (int)getzlong(40) * 1e-2 * (1/sqrt(2)) * GPSD_CONFIDENCE; session->gpsdata.fix.epv = (int)getzlong(42) * 1e-2 * GPSD_CONFIDENCE; session->gpsdata.fix.ept = (int)getzlong(44) * 1e-2 * GPSD_CONFIDENCE; session->gpsdata.fix.eps = (int)getzword(46) * 1e-2 * GPSD_CONFIDENCE; @@ -264,7 +264,7 @@ int gps_unpack(char *buf, struct gps_data_t *gpsdata) nf.ept = DEFAULT(ept); nf.altitude = DEFAULT(alt); /* designed before we split eph into epx+epy */ - nf.epx = nf.epy = DEFAULT(eph); + nf.epx = nf.epy = DEFAULT(eph)/sqrt(2); nf.epv = DEFAULT(epv); nf.track = DEFAULT(track); nf.speed = DEFAULT(speed); diff --git a/test/stable/garmin17n.log.chk b/test/stable/garmin17n.log.chk index eae7da7e..7b1904fd 100644 --- a/test/stable/garmin17n.log.chk +++ b/test/stable/garmin17n.log.chk @@ -7,7 +7,7 @@ $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 $GPGSV,3,2,12,18,50,135,50,19,15,291,46,21,59,069,51,22,30,169,49*75 $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093802,A,D*48 -{"class":"TPV","tag":"GLL","time":1110965882.000,"ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epx":3.530,"epy":3.530,"epv":4.983,"track":226.0000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1110965882.000,"ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epx":2.496,"epy":2.496,"epv":4.983,"track":226.0000,"speed":0.000,"climb":0.000,"mode":3}
$GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293895,160305,093802,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*11 @@ -20,7 +20,7 @@ $GPGSV,3,3,12,26,14,065,48,27,08,336,38,29,14,048,44,44,18,130,41*78 {"class":"SKY","tag":"GSV","time":1110965883.000,"xdop":1.30,"hdop":0.90,"pdop":1.60,"reported":8,"satellites":[{"PRN":18,"el":50,"az":135,"ss":50,"used":true},{"PRN":19,"el":15,"az":291,"ss":46,"used":true},{"PRN":21,"el":59,"az":69,"ss":51,"used":true},{"PRN":22,"el":30,"az":169,"ss":49,"used":true},{"PRN":26,"el":14,"az":65,"ss":48,"used":false},{"PRN":27,"el":8,"az":336,"ss":38,"used":true},{"PRN":29,"el":14,"az":48,"ss":44,"used":true},{"PRN":44,"el":18,"az":130,"ss":41,"used":false}]}
$PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093803,A,D*49 -{"class":"TPV","tag":"GLL","time":1110965883.000,"ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epx":3.530,"epy":3.530,"epv":4.983,"track":226.0000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1110965883.000,"ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epx":2.496,"epy":2.496,"epv":4.983,"track":226.0000,"speed":0.000,"climb":0.000,"mode":3}
$GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293896,160305,093803,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*13 diff --git a/test/stable/garmin38.log.chk b/test/stable/garmin38.log.chk index b908a5ed..3b3ef168 100644 --- a/test/stable/garmin38.log.chk +++ b/test/stable/garmin38.log.chk @@ -14,7 +14,7 @@ $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,46,31,27,263,38*7C {"class":"SKY","tag":"GSV","time":1034086936.000,"xdop":2.80,"hdop":1.80,"pdop":3.30,"reported":8,"satellites":[{"PRN":3,"el":23,"az":224,"ss":38,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":41,"used":true},{"PRN":14,"el":75,"az":15,"ss":44,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":46,"used":true},{"PRN":31,"el":27,"az":263,"ss":38,"used":true}]}
$PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.452,N,11821.143,W,142216,A*38 -{"class":"TPV","tag":"GLL","time":1034086936.000,"ept":0.005,"lat":33.807533333,"lon":-118.352383333,"alt":38.400,"epx":39.864,"epy":39.864,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1034086936.000,"ept":0.005,"lat":33.807533333,"lon":-118.352383333,"alt":38.400,"epx":28.188,"epy":28.188,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,126,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 @@ -28,7 +28,7 @@ $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,42*79 {"class":"SKY","tag":"GSV","time":1034086938.000,"xdop":2.80,"hdop":1.80,"pdop":3.30,"reported":8,"satellites":[{"PRN":3,"el":23,"az":224,"ss":43,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":38,"used":true},{"PRN":14,"el":75,"az":15,"ss":44,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":39,"used":true},{"PRN":31,"el":27,"az":263,"ss":42,"used":true}]}
$PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.451,N,11821.144,W,142218,A*32 -{"class":"TPV","tag":"GLL","time":1034086938.000,"ept":0.005,"lat":33.807516667,"lon":-118.352400000,"alt":38.400,"epx":39.864,"epy":39.864,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1034086938.000,"ept":0.005,"lat":33.807516667,"lon":-118.352400000,"alt":38.400,"epx":28.188,"epy":28.188,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,126,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 @@ -42,7 +42,7 @@ $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,41*7A {"class":"SKY","tag":"GSV","time":1034086940.000,"xdop":2.80,"hdop":1.80,"pdop":3.30,"reported":8,"satellites":[{"PRN":3,"el":23,"az":224,"ss":43,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":38,"used":true},{"PRN":14,"el":75,"az":15,"ss":43,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":39,"used":true},{"PRN":31,"el":27,"az":263,"ss":41,"used":true}]}
$PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.451,N,11821.142,W,142220,A*3F -{"class":"TPV","tag":"GLL","time":1034086940.000,"ept":0.005,"lat":33.807516667,"lon":-118.352366667,"alt":37.600,"epx":39.864,"epy":39.864,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1034086940.000,"ept":0.005,"lat":33.807516667,"lon":-118.352366667,"alt":37.600,"epx":28.188,"epy":28.188,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,123,f,3*1B $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 @@ -56,7 +56,7 @@ $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,40,31,27,263,41*74 {"class":"SKY","tag":"GSV","time":1034086942.000,"xdop":2.80,"hdop":1.80,"pdop":3.30,"reported":8,"satellites":[{"PRN":3,"el":23,"az":224,"ss":42,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":38,"used":true},{"PRN":14,"el":75,"az":15,"ss":43,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":40,"used":true},{"PRN":31,"el":27,"az":263,"ss":41,"used":true}]}
$PGRME,19.2,M,28.9,M,34.7,M*17 $GPGLL,3348.451,N,11821.143,W,142222,A*3C -{"class":"TPV","tag":"GLL","time":1034086942.000,"ept":0.005,"lat":33.807516667,"lon":-118.352383333,"alt":38.000,"epx":39.864,"epy":39.864,"epv":60.004,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1034086942.000,"ept":0.005,"lat":33.807516667,"lon":-118.352383333,"alt":38.000,"epx":28.188,"epy":28.188,"epv":60.004,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,125,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 @@ -70,5 +70,5 @@ $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,40*7B {"class":"SKY","tag":"GSV","time":1034086944.000,"xdop":2.80,"hdop":1.80,"pdop":3.30,"reported":8,"satellites":[{"PRN":3,"el":23,"az":224,"ss":43,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":39,"used":true},{"PRN":14,"el":75,"az":15,"ss":44,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":39,"used":true},{"PRN":31,"el":27,"az":263,"ss":40,"used":true}]}
$PGRME,19.2,M,28.9,M,34.7,M*17 $GPGLL,3348.451,N,11821.143,W,142224,A*3A -{"class":"TPV","tag":"GLL","time":1034086944.000,"ept":0.005,"lat":33.807516667,"lon":-118.352383333,"alt":38.000,"epx":39.864,"epy":39.864,"epv":60.004,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":1034086944.000,"ept":0.005,"lat":33.807516667,"lon":-118.352383333,"alt":38.000,"epx":28.188,"epy":28.188,"epv":60.004,"track":353.6000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,125,f,3*1D diff --git a/test/stable/garmin48.log.chk b/test/stable/garmin48.log.chk index 2080ba3d..dd985840 100644 --- a/test/stable/garmin48.log.chk +++ b/test/stable/garmin48.log.chk @@ -26,7 +26,7 @@ $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","time":991867990.000,"xdop":2.00,"hdop":2.10,"pdop":3.10,"reported":11,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":48,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]}
$PGRME,9.1,M,15.0,M,12.0,M*21
$GPGLL,4527.458,S,16709.165,E,225311,A*37
-{"class":"TPV","tag":"GLL","time":991867990.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.600,"epx":18.894,"epy":18.894,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":991867990.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.600,"epx":13.360,"epy":13.360,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,48,f,3*27
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
@@ -42,7 +42,7 @@ $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","time":991867992.000,"xdop":2.10,"hdop":2.20,"pdop":3.20,"reported":11,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]}
$PGRME,9.2,M,15.0,M,12.6,M*24
$GPGLL,4527.458,S,16709.165,E,225313,A*35
-{"class":"TPV","tag":"GLL","time":991867992.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.700,"epx":19.102,"epy":19.102,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":991867992.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.700,"epx":13.507,"epy":13.507,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,48,f,3*27
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
@@ -58,7 +58,7 @@ $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","time":991867994.000,"xdop":2.10,"hdop":2.20,"pdop":3.20,"reported":11,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]}
$PGRME,9.2,M,15.0,M,12.6,M*24
$GPGLL,4527.458,S,16709.165,E,225315,A*33
-{"class":"TPV","tag":"GLL","time":991867994.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.600,"epx":19.102,"epy":19.102,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":991867994.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.600,"epx":13.507,"epy":13.507,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,48,f,3*27
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
@@ -74,7 +74,7 @@ $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","time":991867996.000,"xdop":2.10,"hdop":2.20,"pdop":3.20,"reported":11,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":40,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]}
$PGRME,9.2,M,15.0,M,12.6,M*24
$GPGLL,4527.458,S,16709.165,E,225317,A*31
-{"class":"TPV","tag":"GLL","time":991867996.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.400,"epx":19.102,"epy":19.102,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":991867996.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.400,"epx":13.507,"epy":13.507,"epv":31.144,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,46,f,3*29
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
@@ -91,7 +91,7 @@ $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,40,,,,*42 {"class":"SKY","tag":"GSV","time":991867998.000,"xdop":2.10,"hdop":2.20,"pdop":3.20,"reported":11,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":40,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":83,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":40,"used":true}]}
$PGRME,10.3,M,15.2,M,16.7,M*1A
$GPGLL,4527.458,S,16709.165,E,225333,A*37
-{"class":"TPV","tag":"GLL","time":991867998.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.000,"epx":21.386,"epy":21.386,"epv":31.559,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":991867998.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.000,"epx":15.122,"epy":15.122,"epv":31.559,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,41,f,3*2E
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
@@ -107,7 +107,7 @@ $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,41,,,,*43 {"class":"SKY","tag":"GSV","time":991868014.000,"xdop":3.00,"hdop":2.40,"pdop":4.10,"reported":11,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":40,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":83,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":41,"used":true}]}
$PGRME,10.3,M,15.2,M,16.7,M*1A
$GPGLL,4527.458,S,16709.165,E,225335,A*31
-{"class":"TPV","tag":"GLL","time":991868014.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":12.500,"epx":21.386,"epy":21.386,"epv":31.559,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
+{"class":"TPV","tag":"GLL","time":991868014.000,"ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":12.500,"epx":15.122,"epy":15.122,"epv":31.559,"track":94.5000,"speed":0.000,"climb":0.000,"mode":3}
$PGRMZ,41,f,3*2E
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
diff --git a/test/stable/navcom.log.chk b/test/stable/navcom.log.chk index 20d6b5a0..2d451e93 100644 --- a/test/stable/navcom.log.chk +++ b/test/stable/navcom.log.chk @@ -1,7 +1,7 @@ $GPGGA,102009,3020.5010,N,01213.7241,E,2,09,1.00,627.59,M,31.479,M,,*40
$GPRMC,102009,A,3020.5010,N,01213.7241,E,0.0019,90.000,150107,,*10
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856409.000,"ept":3.920,"lat":30.341683155,"lon":12.228735775,"alt":627.588,"epx":0.314,"epy":0.314,"epv":0.564,"track":90.0000,"speed":0.001,"climb":0.006,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856409.000,"ept":3.920,"lat":30.341683155,"lon":12.228735775,"alt":627.588,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":0.006,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
@@ -9,7 +9,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C $GPGGA,102010,3020.5010,N,01213.7241,E,2,09,1.00,627.58,M,31.479,M,,*49
$GPRMC,102010,A,3020.5010,N,01213.7241,E,31847.9464,0.000,150107,,*2F
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856410.000,"ept":3.920,"lat":30.341683205,"lon":12.228735818,"alt":627.577,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":16383.999,"climb":0.008,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856410.000,"ept":3.920,"lat":30.341683205,"lon":12.228735818,"alt":627.577,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.999,"climb":0.008,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,32*7A
@@ -17,7 +17,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,32*7A $GPGGA,102011,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*45
$GPRMC,102011,A,3020.5010,N,01213.7242,E,0.0019,90.000,150107,,*1A
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856411.000,"ept":3.920,"lat":30.341683095,"lon":12.228735894,"alt":627.558,"epx":0.314,"epy":0.314,"epv":0.564,"track":90.0000,"speed":0.001,"climb":16383.996,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856411.000,"ept":3.920,"lat":30.341683095,"lon":12.228735894,"alt":627.558,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":16383.996,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B
@@ -25,7 +25,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B $GPGGA,102012,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.479,M,,*45
$GPRMC,102012,A,3020.5010,N,01213.7242,E,0.0019,90.000,150107,,*19
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856412.000,"ept":3.920,"lat":30.341683146,"lon":12.228735886,"alt":627.552,"epx":0.314,"epy":0.314,"epv":0.564,"track":90.0000,"speed":0.001,"climb":0.001,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856412.000,"ept":3.920,"lat":30.341683146,"lon":12.228735886,"alt":627.552,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":0.001,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B
@@ -33,7 +33,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B $GPGGA,102013,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.480,M,,*42
$GPRMC,102013,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*21
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856413.000,"ept":3.920,"lat":30.341683214,"lon":12.228735860,"alt":627.552,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":0.001,"climb":0.000,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856413.000,"ept":3.920,"lat":30.341683214,"lon":12.228735860,"alt":627.552,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.000,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B
@@ -41,7 +41,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B $GPGGA,102014,3020.5010,N,01213.7242,E,2,09,1.00,627.54,M,31.479,M,,*42
$GPRMC,102014,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*26
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856414.000,"ept":3.920,"lat":30.341683205,"lon":12.228735860,"alt":627.538,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":0.001,"climb":0.001,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856414.000,"ept":3.920,"lat":30.341683205,"lon":12.228735860,"alt":627.538,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.001,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -49,7 +49,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102015,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.479,M,,*42
$GPRMC,102015,A,3020.5010,N,01213.7242,E,31847.9407,0.000,150107,,*2C
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856415.000,"ept":3.920,"lat":30.341683138,"lon":12.228735911,"alt":627.551,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":16383.996,"climb":0.002,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856415.000,"ept":3.920,"lat":30.341683138,"lon":12.228735911,"alt":627.551,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.996,"climb":0.002,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -57,7 +57,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102016,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.479,M,,*41
$GPRMC,102016,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*24
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856416.000,"ept":3.920,"lat":30.341683138,"lon":12.228735852,"alt":627.550,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":0.001,"climb":0.005,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856416.000,"ept":3.920,"lat":30.341683138,"lon":12.228735852,"alt":627.550,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.005,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,01*7A
@@ -65,7 +65,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,01*7A $GPGGA,102017,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*43
$GPRMC,102017,A,3020.5010,N,01213.7242,E,0.0000,0.000,150107,,*2D
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856417.000,"ept":3.920,"lat":30.341683189,"lon":12.228735877,"alt":627.561,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":0.000,"climb":0.000,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856417.000,"ept":3.920,"lat":30.341683189,"lon":12.228735877,"alt":627.561,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.000,"climb":0.000,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,33*7B
@@ -73,7 +73,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,33*7B $GPGGA,102018,3020.5010,N,01213.7241,E,2,09,1.00,627.56,M,31.479,M,,*4F
$GPRMC,102018,A,3020.5010,N,01213.7241,E,0.0019,90.000,150107,,*10
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856418.000,"ept":3.920,"lat":30.341683180,"lon":12.228735826,"alt":627.560,"epx":0.314,"epy":0.314,"epv":0.564,"track":90.0000,"speed":0.001,"climb":0.006,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856418.000,"ept":3.920,"lat":30.341683180,"lon":12.228735826,"alt":627.560,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":0.006,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -81,7 +81,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102019,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*4D
$GPRMC,102019,A,3020.5010,N,01213.7242,E,0.0060,71.565,150107,,*15
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856419.000,"ept":3.920,"lat":30.341683112,"lon":12.228735945,"alt":627.564,"epx":0.314,"epy":0.314,"epv":0.564,"track":71.5651,"speed":0.003,"climb":16383.997,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856419.000,"ept":3.920,"lat":30.341683112,"lon":12.228735945,"alt":627.564,"epx":0.222,"epy":0.222,"epv":10.350,"track":71.5651,"speed":0.003,"climb":16383.997,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -89,7 +89,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102020,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*47
$GPRMC,102020,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*21
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856420.000,"ept":3.920,"lat":30.341683172,"lon":12.228735936,"alt":627.559,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":0.001,"climb":0.005,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856420.000,"ept":3.920,"lat":30.341683172,"lon":12.228735936,"alt":627.559,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.005,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,45,06,36,062,43,25,36,245,43*7E
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -97,7 +97,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102021,3020.5010,N,01213.7242,E,2,09,1.00,627.54,M,31.480,M,,*42
$GPRMC,102021,A,3020.5010,N,01213.7242,E,31847.9445,0.000,150107,,*2D
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856421.000,"ept":3.920,"lat":30.341683180,"lon":12.228735886,"alt":627.543,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":16383.998,"climb":0.002,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856421.000,"ept":3.920,"lat":30.341683180,"lon":12.228735886,"alt":627.543,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.998,"climb":0.002,"epd":83.0472,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -105,7 +105,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102022,3020.5010,N,01213.7242,E,2,09,1.00,627.52,M,31.479,M,,*41
$GPRMC,102022,A,3020.5010,N,01213.7242,E,31847.9464,0.000,150107,,*2D
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856422.000,"ept":3.920,"lat":30.341683256,"lon":12.228735869,"alt":627.515,"epx":0.314,"epy":0.314,"epv":0.564,"track":0.0000,"speed":16383.999,"climb":16383.999,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856422.000,"ept":3.920,"lat":30.341683256,"lon":12.228735869,"alt":627.515,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.999,"climb":16383.999,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -113,7 +113,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102023,3020.5010,N,01213.7242,E,2,09,1.00,627.54,M,31.479,M,,*46
$GPRMC,102023,A,3020.5010,N,01213.7242,E,0.0027,45.000,150107,,*1E
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856423.000,"ept":3.920,"lat":30.341683197,"lon":12.228735835,"alt":627.542,"epx":0.314,"epy":0.314,"epv":0.564,"track":45.0000,"speed":0.001,"climb":0.001,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856423.000,"ept":3.920,"lat":30.341683197,"lon":12.228735835,"alt":627.542,"epx":0.222,"epy":0.222,"epv":10.350,"track":45.0000,"speed":0.001,"climb":0.001,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,32*79
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -121,7 +121,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102024,3020.5010,N,01213.7242,E,2,09,1.00,627.52,M,31.479,M,,*47
$GPRMC,102024,A,3020.5010,N,01213.7242,E,45039.7977,45.000,150107,,*19
$GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31
-{"class":"TPV","tag":"0xb1","time":1168856424.000,"ept":3.920,"lat":30.341683248,"lon":12.228735852,"alt":627.520,"epx":0.314,"epy":0.314,"epv":0.564,"track":45.0000,"speed":23170.474,"climb":0.000,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856424.000,"ept":3.920,"lat":30.341683248,"lon":12.228735852,"alt":627.520,"epx":0.222,"epy":0.222,"epv":10.350,"track":45.0000,"speed":23170.474,"climb":0.000,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,35*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D
@@ -129,7 +129,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D $GPGGA,102025,3020.5010,N,01213.7242,E,2,08,1.10,627.55,M,31.479,M,,*41
$GPRMC,102025,A,3020.5010,N,01213.7242,E,0.0057,90.000,150107,,*17
$GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38
-{"class":"TPV","tag":"0xb1","time":1168856425.000,"ept":5.880,"lat":30.341683205,"lon":12.228735911,"alt":627.549,"epx":0.314,"epy":0.314,"epv":0.599,"track":90.0000,"speed":0.003,"climb":0.001,"eps":0.63,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856425.000,"ept":5.880,"lat":30.341683205,"lon":12.228735911,"alt":627.549,"epx":0.222,"epy":0.222,"epv":12.075,"track":90.0000,"speed":0.003,"climb":0.001,"eps":0.44,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,33*79
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
@@ -137,7 +137,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C $GPGGA,102026,3020.5010,N,01213.7242,E,2,08,1.10,627.54,M,31.479,M,,*43
$GPRMC,102026,A,3020.5010,N,01213.7242,E,0.0042,26.565,150107,,*1B
$GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38
-{"class":"TPV","tag":"0xb1","time":1168856426.000,"ept":5.880,"lat":30.341683256,"lon":12.228735936,"alt":627.539,"epx":0.314,"epy":0.314,"epv":0.599,"track":26.5651,"speed":0.002,"climb":0.003,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856426.000,"ept":5.880,"lat":30.341683256,"lon":12.228735936,"alt":627.539,"epx":0.222,"epy":0.222,"epv":12.075,"track":26.5651,"speed":0.002,"climb":0.003,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,32*78
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
@@ -145,7 +145,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C $GPGGA,102027,3020.5010,N,01213.7242,E,2,08,1.10,627.53,M,31.479,M,,*45
$GPRMC,102027,A,3020.5010,N,01213.7242,E,31847.9464,90.000,150107,,*11
$GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38
-{"class":"TPV","tag":"0xb1","time":1168856427.000,"ept":5.880,"lat":30.341683265,"lon":12.228735920,"alt":627.531,"epx":0.333,"epy":0.333,"epv":0.636,"track":90.0000,"speed":16383.999,"climb":16383.998,"eps":0.65,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856427.000,"ept":5.880,"lat":30.341683265,"lon":12.228735920,"alt":627.531,"epx":0.236,"epy":0.236,"epv":12.075,"track":90.0000,"speed":16383.999,"climb":16383.998,"eps":0.46,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,45,06,36,062,43,25,36,245,43*7E
$GPGSV,3,2,10,30,26,132,37,16,40,321,42,18,31,140,38,03,10,284,32*77
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
@@ -153,7 +153,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C $GPGGA,102028,3020.5010,N,01213.7242,E,2,08,1.10,627.54,M,31.479,M,,*4D
$GPRMC,102028,A,3020.5010,N,01213.7242,E,31847.9464,90.000,150107,,*1E
$GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38
-{"class":"TPV","tag":"0xb1","time":1168856428.000,"ept":5.880,"lat":30.341683239,"lon":12.228735920,"alt":627.541,"epx":0.333,"epy":0.333,"epv":0.636,"track":90.0000,"speed":16383.999,"climb":0.002,"eps":0.67,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856428.000,"ept":5.880,"lat":30.341683239,"lon":12.228735920,"alt":627.541,"epx":0.236,"epy":0.236,"epv":12.075,"track":90.0000,"speed":16383.999,"climb":0.002,"eps":0.47,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,33*79
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
@@ -161,7 +161,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C $GPGGA,102029,3020.5010,N,01213.7242,E,2,08,1.10,627.56,M,31.479,M,,*4E
$GPRMC,102029,A,3020.5010,N,01213.7242,E,31847.9445,0.000,150107,,*25
$GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38
-{"class":"TPV","tag":"0xb1","time":1168856429.000,"ept":5.880,"lat":30.341683214,"lon":12.228735936,"alt":627.555,"epx":0.333,"epy":0.333,"epv":0.636,"track":0.0000,"speed":16383.998,"climb":0.007,"eps":0.67,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856429.000,"ept":5.880,"lat":30.341683214,"lon":12.228735936,"alt":627.555,"epx":0.236,"epy":0.236,"epv":12.075,"track":0.0000,"speed":16383.998,"climb":0.007,"eps":0.47,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
@@ -169,7 +169,7 @@ $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C $GPGGA,102030,3020.5010,N,01213.7242,E,2,08,1.10,627.54,M,31.479,M,,*44
$GPRMC,102030,A,3020.5010,N,01213.7242,E,31847.9464,90.000,150107,,*17
$GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38
-{"class":"TPV","tag":"0xb1","time":1168856430.000,"ept":5.880,"lat":30.341683231,"lon":12.228735877,"alt":627.537,"epx":0.353,"epy":0.353,"epv":0.674,"track":90.0000,"speed":16383.999,"climb":0.000,"eps":0.69,"mode":3}
+{"class":"TPV","tag":"0xb1","time":1168856430.000,"ept":5.880,"lat":30.341683231,"lon":12.228735877,"alt":627.537,"epx":0.249,"epy":0.249,"epv":12.075,"track":90.0000,"speed":16383.999,"climb":0.000,"eps":0.49,"mode":3}
$GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F
$GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E
$GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C
diff --git a/test/stable/tn204.log.chk b/test/stable/tn204.log.chk index a72e0f63..a52c9531 100644 --- a/test/stable/tn204.log.chk +++ b/test/stable/tn204.log.chk @@ -13,7 +13,7 @@ $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230150,A,3348.606,N,11821.125,W,000.0,209.4,261002,013.8,E*62 -{"class":"TPV","tag":"RMC","time":1035673310.000,"ept":0.005,"lat":33.810100000,"lon":-118.352083333,"alt":49.400,"epx":36.127,"epy":36.127,"epv":83.674,"track":209.4000,"speed":0.000,"climb":0.000,"eps":72.25,"mode":3}
+{"class":"TPV","tag":"RMC","time":1035673310.000,"ept":0.005,"lat":33.810100000,"lon":-118.352083333,"alt":49.400,"epx":25.546,"epy":25.546,"epv":83.674,"track":209.4000,"speed":0.000,"climb":0.000,"eps":51.09,"mode":3}
$GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230151,3348.607,N,11821.124,W,1,05,1.7,49.2,M,-32.4,M,,*41 $GPGSA,A,3,07,08,,,27,28,29,,,,,,4.2,1.7,3.8*32 @@ -22,13 +22,13 @@ $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,44,31,10,040,00*7F {"class":"SKY","tag":"GSV","time":1035673311.000,"xdop":3.80,"hdop":1.70,"pdop":4.20,"reported":8,"satellites":[{"PRN":7,"el":43,"az":197,"ss":45,"used":true},{"PRN":8,"el":68,"az":62,"ss":42,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":43,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":true},{"PRN":28,"el":66,"az":323,"ss":42,"used":true},{"PRN":29,"el":33,"az":306,"ss":44,"used":true},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]}
$PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.607,N,11821.124,W,230151,A*3D -{"class":"TPV","tag":"GLL","time":1035673311.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.200,"epx":36.127,"epy":36.127,"epv":83.674,"climb":-0.200,"mode":3}
+{"class":"TPV","tag":"GLL","time":1035673311.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.200,"epx":25.546,"epy":25.546,"epv":83.674,"climb":-0.200,"mode":3}
$PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230152,A,3348.607,N,11821.124,W,000.0,209.4,261002,013.8,E*60 -{"class":"TPV","tag":"RMC","time":1035673312.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.200,"epx":36.127,"epy":36.127,"epv":83.674,"track":209.4000,"speed":0.000,"climb":-0.200,"eps":72.25,"mode":3}
+{"class":"TPV","tag":"RMC","time":1035673312.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.200,"epx":25.546,"epy":25.546,"epv":83.674,"track":209.4000,"speed":0.000,"climb":-0.200,"eps":51.09,"mode":3}
$GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230153,3348.607,N,11821.124,W,1,05,1.7,49.1,M,-32.4,M,,*40 $GPGSA,A,3,,08,,,,,29,,,,,,4.2,1.7,3.8*3A @@ -37,13 +37,13 @@ $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,44,31,10,040,00*7F {"class":"SKY","tag":"GSV","time":1035673313.000,"xdop":3.80,"hdop":1.70,"pdop":4.20,"reported":8,"satellites":[{"PRN":7,"el":43,"az":197,"ss":45,"used":false},{"PRN":8,"el":68,"az":62,"ss":42,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":41,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":false},{"PRN":28,"el":66,"az":323,"ss":42,"used":false},{"PRN":29,"el":33,"az":306,"ss":44,"used":true},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]}
$PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.607,N,11821.124,W,230153,A*3F -{"class":"TPV","tag":"GLL","time":1035673313.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.100,"epx":36.127,"epy":36.127,"epv":83.674,"climb":-0.100,"mode":3}
+{"class":"TPV","tag":"GLL","time":1035673313.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.100,"epx":25.546,"epy":25.546,"epv":83.674,"climb":-0.100,"mode":3}
$PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230154,A,3348.607,N,11821.124,W,000.0,209.4,261002,013.8,E*66 -{"class":"TPV","tag":"RMC","time":1035673314.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.100,"epx":36.127,"epy":36.127,"epv":83.674,"track":209.4000,"speed":0.000,"climb":-0.100,"eps":72.25,"mode":3}
+{"class":"TPV","tag":"RMC","time":1035673314.000,"ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.100,"epx":25.546,"epy":25.546,"epv":83.674,"track":209.4000,"speed":0.000,"climb":-0.100,"eps":51.09,"mode":3}
$GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230155,3348.608,N,11821.124,W,1,02,1.9,49.0,M,-32.4,M,,*41 $GPGSA,A,3,07,08,,,27,28,,,,,,,1.9,1.9,1.0*33 @@ -52,7 +52,7 @@ $GPGSV,2,2,08,27,48,103,46,28,66,323,43,29,33,306,44,31,10,040,00*7E {"class":"SKY","tag":"GSV","time":1035673315.000,"xdop":1.00,"hdop":1.90,"pdop":1.90,"reported":8,"satellites":[{"PRN":7,"el":43,"az":197,"ss":45,"used":true},{"PRN":8,"el":68,"az":62,"ss":43,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":41,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":true},{"PRN":28,"el":66,"az":323,"ss":43,"used":true},{"PRN":29,"el":33,"az":306,"ss":44,"used":false},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]}
$PGRME,19.2,M,150.0,M,151.2,M*17 $GPGLL,3348.608,N,11821.124,W,230155,A*36 -{"class":"TPV","tag":"GLL","time":1035673315.000,"ept":0.005,"lat":33.810133333,"lon":-118.352066667,"alt":49.000,"epx":39.864,"epy":39.864,"epv":311.441,"climb":-0.100,"mode":3}
+{"class":"TPV","tag":"GLL","time":1035673315.000,"ept":0.005,"lat":33.810133333,"lon":-118.352066667,"alt":49.000,"epx":28.188,"epy":28.188,"epv":311.441,"climb":-0.100,"mode":3}
$PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 |