summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2019-03-13 16:03:07 -0700
committerGary E. Miller <gem@rellim.com>2019-03-13 16:03:07 -0700
commitea906e922acc6aeb98f28e1501542c10e7ba621f (patch)
treea52df344c9d68bf80386e57dc6d73e41112a78ed
parent21e5566f79ad82cb018fbde2f765530b85420302 (diff)
downloadgpsd-ea906e922acc6aeb98f28e1501542c10e7ba621f.tar.gz
driver_nmea0183 and more: Decode $PSRFEPE add eps.
Turns out eps also came from other GPS, but never made it to TPV. Regressions changed to show new eps data.
-rw-r--r--driver_nmea0183.c17
-rw-r--r--gpsutils.c3
-rw-r--r--libgpsd_core.c4
-rw-r--r--test/daemon/beidou-bd.log.chk14
-rw-r--r--test/daemon/beidou-gb.log.chk10
-rw-r--r--test/daemon/italk-binary.log.chk6
-rw-r--r--test/daemon/zodiac.log.chk42
7 files changed, 52 insertions, 44 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c
index a73a1f79..89e76d01 100644
--- a/driver_nmea0183.c
+++ b/driver_nmea0183.c
@@ -1410,10 +1410,10 @@ static gps_mask_t processPSRFEPE(int c UNUSED, char *field[],
* 1 = UTC Time hhmmss.sss
* 2 = Status. A = Valid, V = Data not valid
* 3 = HDOP
- * 4 = EHPE meters
- * 5 = EVPE meters
- * 6 = EHVE meters
- * 7 = EHE meters
+ * 4 = EHPE meters (Estimated Horizontal Position Error)
+ * 5 = EVPE meters (Estimated Vertical Position Error)
+ * 6 = EHVE meters (Estimated Speed Over Ground/Velocity Error)
+ * 7 = EHE degrees (Estimated Heading Error)
*
* SiRF won't say if these are 1-sigma or what...
*/
@@ -1451,15 +1451,20 @@ static gps_mask_t processPSRFEPE(int c UNUSED, char *field[],
not ready for prime time */
}
+ if ('\0' != field[6][0]) {
+ /* Estimated Horizontal Speed Error meters/sec */
+ session->newdata.eps = safe_atof(field[6]);
+ }
+
if ('\0' != field[7][0]) {
/* Estimated Heading Error degrees */
session->newdata.epd = safe_atof(field[7]);
}
gpsd_log(&session->context->errout, LOG_PROG,
- "PSRFEPE: hdop=%.1f epv=%.1f epd=%.1f\n",
+ "PSRFEPE: hdop=%.1f eps=%.1f epd=%.1f\n",
session->gpsdata.dop.hdop,
- session->newdata.epv,
+ session->newdata.eps,
session->newdata.epd);
return mask;
}
diff --git a/gpsutils.c b/gpsutils.c
index 73c804ca..77b060fa 100644
--- a/gpsutils.c
+++ b/gpsutils.c
@@ -332,6 +332,9 @@ void gps_merge_fix(struct gps_fix_t *to,
to->epx = from->epx;
to->epy = from->epy;
}
+ if (0 != isfinite(from->eps)) {
+ to->eps = from->eps;
+ }
if (0 != isfinite(from->epd)) {
to->epd = from->epd;
}
diff --git a/libgpsd_core.c b/libgpsd_core.c
index a98f5073..d3099624 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -1036,8 +1036,8 @@ static void gpsd_error_model(struct gps_device_t *session)
0 != isfinite(oldfix->epy)) {
fix->eps = (EMIX(oldfix->epx, oldfix->epy) +
EMIX(fix->epx, fix->epy)) / deltatime;
- } else
- fix->eps = NAN;
+ }
+ /* else, leave as NAN */
}
if (0 < deltatime && MODE_3D <= fix->mode) {
diff --git a/test/daemon/beidou-bd.log.chk b/test/daemon/beidou-bd.log.chk
index add1bdb2..f7c58d59 100644
--- a/test/daemon/beidou-bd.log.chk
+++ b/test/daemon/beidou-bd.log.chk
@@ -48,11 +48,11 @@ $BDGSA,A,1,,,,,,,,,,,,,,,,*23
$GNRMC,074154.799,V,,,,,,,250215,,,N*56
$PSRFEPE,074155.799,A,1.3,10.59,52.97,0.6,180.0*16
$GNGGA,074155.799,3114.8770,N,12135.2463,E,1,05,1.3,156.9,M,8.3,M,,0000,4.9*77
-{"class":"TPV","mode":3,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epd":180.0000}
+{"class":"TPV","mode":3,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epd":180.0000,"eps":0.60}
$GNGNS,074155.799,3114.8770,N,12135.2463,E,ANNA,05,1.3,156.9,8.3,,0000*52
$GPGSA,A,3,25,32,,,,,,,,,,,5.1,1.3,4.9,3.3*3D
$BDGSA,A,3,02,03,04,,,,,,,,,,5.1,1.3,4.9,3.3*2F
-{"class":"TPV","mode":3,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epv":112.700,"epd":180.0000}
+{"class":"TPV","mode":3,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epv":112.700,"epd":180.0000,"eps":0.60}
$GPGSV,5,1,20,25,76,102,50,32,29,284,47,01,02,001,24,07,00,000,23*7A
$GPGSV,5,2,20,08,00,000,46,09,19,094,,12,00,000,44,14,68,202,49*7F
$GPGSV,5,3,20,18,13,225,27,20,00,000,29,22,16,229,37,26,00,000,24*77
@@ -63,33 +63,33 @@ $BDGSV,3,2,12,10,64,323,,07,64,320,,06,55,274,,14,50,284,*66
$BDGSV,3,3,12,09,44,299,,08,14,156,,05,11,258,,13,08,322,*6C
{"class":"SKY","xdop":0.91,"ydop":1.62,"vdop":4.90,"tdop":1.64,"hdop":1.30,"gdop":3.29,"pdop":5.10,"satellites":[{"PRN":25,"el":76,"az":102,"ss":50,"used":true,"gnssid":0,"svid":25},{"PRN":32,"el":29,"az":284,"ss":47,"used":true,"gnssid":0,"svid":32},{"PRN":1,"el":2,"az":1,"ss":24,"used":false,"gnssid":0,"svid":1},{"PRN":7,"el":0,"az":0,"ss":23,"used":false,"gnssid":0,"svid":7},{"PRN":8,"el":0,"az":0,"ss":46,"used":false,"gnssid":0,"svid":8},{"PRN":9,"el":19,"az":94,"ss":0,"used":false,"gnssid":0,"svid":9},{"PRN":12,"el":0,"az":0,"ss":44,"used":false,"gnssid":0,"svid":12},{"PRN":14,"el":68,"az":202,"ss":49,"used":false,"gnssid":0,"svid":14},{"PRN":18,"el":13,"az":225,"ss":27,"used":false,"gnssid":0,"svid":18},{"PRN":20,"el":0,"az":0,"ss":29,"used":false,"gnssid":0,"svid":20},{"PRN":22,"el":16,"az":229,"ss":37,"used":false,"gnssid":0,"svid":22},{"PRN":26,"el":0,"az":0,"ss":24,"used":false,"gnssid":0,"svid":26},{"PRN":28,"el":0,"az":0,"ss":24,"used":false,"gnssid":0,"svid":28},{"PRN":29,"el":35,"az":80,"ss":43,"used":false,"gnssid":0,"svid":29},{"PRN":31,"el":62,"az":89,"ss":0,"used":false,"gnssid":0,"svid":31},{"PRN":15,"el":42,"az":298,"ss":0,"used":false,"gnssid":0,"svid":15},{"PRN":27,"el":40,"az":94,"ss":0,"used":false,"gnssid":0,"svid":27},{"PRN":30,"el":24,"az":225,"ss":0,"used":false,"gnssid":0,"svid":30},{"PRN":23,"el":22,"az":310,"ss":0,"used":false,"gnssid":0,"svid":23},{"PRN":10,"el":5,"az":340,"ss":0,"used":false,"gnssid":0,"svid":10},{"PRN":202,"el":33,"az":240,"ss":35,"used":true,"gnssid":3,"svid":2},{"PRN":203,"el":51,"az":201,"ss":37,"used":true,"gnssid":3,"svid":3},{"PRN":204,"el":35,"az":123,"ss":42,"used":true,"gnssid":3,"svid":4},{"PRN":201,"el":42,"az":130,"ss":45,"used":false,"gnssid":3,"svid":1},{"PRN":210,"el":64,"az":323,"ss":0,"used":false,"gnssid":3,"svid":10},{"PRN":207,"el":64,"az":320,"ss":0,"used":false,"gnssid":3,"svid":7},{"PRN":206,"el":55,"az":274,"ss":0,"used":false,"gnssid":3,"svid":6},{"PRN":214,"el":50,"az":284,"ss":0,"used":false,"gnssid":3,"svid":14},{"PRN":209,"el":44,"az":299,"ss":0,"used":false,"gnssid":3,"svid":9},{"PRN":208,"el":14,"az":156,"ss":0,"used":false,"gnssid":3,"svid":8},{"PRN":205,"el":11,"az":258,"ss":0,"used":true,"gnssid":3,"svid":5},{"PRN":213,"el":8,"az":322,"ss":0,"used":false,"gnssid":3,"svid":13}]}
$GNRMC,074155.799,A,3114.8770,N,12135.2463,E,0.30,4.94,250215,,,A*76
-{"class":"TPV","mode":3,"time":"2015-02-25T07:41:55.799Z","ept":0.005,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epx":13.701,"epy":24.264,"epv":112.700,"track":4.9400,"speed":0.154,"epd":180.0000}
+{"class":"TPV","mode":3,"time":"2015-02-25T07:41:55.799Z","ept":0.005,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epx":13.701,"epy":24.264,"epv":112.700,"track":4.9400,"speed":0.154,"epd":180.0000,"eps":0.60}
$PSRFEPE,074156.799,A,1.1,64.94,58.97,0.2,180.0*1B
$GNGGA,074156.799,3114.8950,N,12135.2442,E,1,07,1.1,190.7,M,8.3,M,,0000,1.8*7B
$GNGNS,074156.799,3114.8950,N,12135.2442,E,ANNA,07,1.1,190.7,8.3,,0000*5A
$GPGSA,A,3,25,32,14,12,,,,,,,,,2.1,1.1,1.8,1.2*39
$BDGSA,A,3,02,03,04,,,,,,,,,,2.1,1.1,1.8,1.2*2D
$GNRMC,074156.799,A,3114.8950,N,12135.2442,E,0.26,4.94,250215,,,A*7D
-{"class":"TPV","mode":3,"time":"2015-02-25T07:41:56.799Z","ept":0.005,"lat":31.248250000,"lon":121.587403333,"alt":190.700,"epx":13.701,"epy":24.264,"epv":112.700,"track":4.9400,"speed":0.134,"climb":33.800,"epd":180.0000,"eps":48.53,"epc":225.40}
+{"class":"TPV","mode":3,"time":"2015-02-25T07:41:56.799Z","ept":0.005,"lat":31.248250000,"lon":121.587403333,"alt":190.700,"epx":13.701,"epy":24.264,"epv":112.700,"track":4.9400,"speed":0.134,"climb":33.800,"epd":180.0000,"eps":0.20,"epc":225.40}
$PSRFEPE,074157.799,A,1.1,24.65,25.14,0.1,61.5*29
$GNGGA,074157.799,3114.8902,N,12135.2443,E,1,07,1.1,192.9,M,8.3,M,,0000,1.8*70
$GNGNS,074157.799,3114.8902,N,12135.2443,E,ANNA,07,1.1,192.9,8.3,,0000*51
$GPGSA,A,3,25,32,12,14,,,,,,,,,2.1,1.1,1.8,1.2*39
$BDGSA,A,3,02,03,04,,,,,,,,,,2.1,1.1,1.8,1.2*2D
$GNRMC,074157.799,A,3114.8902,N,12135.2443,E,0.32,4.94,250215,,,A*7F
-{"class":"TPV","mode":3,"time":"2015-02-25T07:41:57.799Z","ept":0.005,"lat":31.248170000,"lon":121.587405000,"alt":192.900,"epx":13.701,"epy":24.264,"epv":41.400,"track":4.9400,"speed":0.165,"climb":2.200,"epd":61.5000,"eps":48.53,"epc":154.10}
+{"class":"TPV","mode":3,"time":"2015-02-25T07:41:57.799Z","ept":0.005,"lat":31.248170000,"lon":121.587405000,"alt":192.900,"epx":13.701,"epy":24.264,"epv":41.400,"track":4.9400,"speed":0.165,"climb":2.200,"epd":61.5000,"eps":0.10,"epc":154.10}
$PSRFEPE,074158.799,A,1.1,19.32,19.35,0.1,180.0*1D
$GNGGA,074158.799,3114.8953,N,12135.2439,E,1,07,1.1,198.5,M,8.3,M,,0000,1.8*70
$GNGNS,074158.799,3114.8953,N,12135.2439,E,ANNA,07,1.1,198.5,8.3,,0000*51
$GPGSA,A,3,25,32,12,14,,,,,,,,,2.1,1.1,1.8,1.2*39
$BDGSA,A,3,02,03,04,,,,,,,,,,2.1,1.1,1.8,1.2*2D
$GNRMC,074158.799,A,3114.8953,N,12135.2439,E,0.25,4.94,250215,,,A*7F
-{"class":"TPV","mode":3,"time":"2015-02-25T07:41:58.799Z","ept":0.005,"lat":31.248255000,"lon":121.587398333,"alt":198.500,"epx":13.701,"epy":24.264,"epv":41.400,"track":4.9400,"speed":0.129,"climb":5.600,"epd":180.0000,"eps":48.53,"epc":82.80}
+{"class":"TPV","mode":3,"time":"2015-02-25T07:41:58.799Z","ept":0.005,"lat":31.248255000,"lon":121.587398333,"alt":198.500,"epx":13.701,"epy":24.264,"epv":41.400,"track":4.9400,"speed":0.129,"climb":5.600,"epd":180.0000,"eps":0.10,"epc":82.80}
$PSRFEPE,074159.799,A,1.1,14.86,15.59,0.2,180.0*1B
$GNGGA,074159.799,3114.8943,N,12135.2444,E,1,07,1.1,196.4,M,8.3,M,,0000,1.8*75
$GNGNS,074159.799,3114.8943,N,12135.2444,E,ANNA,07,1.1,196.4,8.3,,0000*54
$GPGSA,A,3,25,32,12,14,,,,,,,,,2.1,1.1,1.8,1.2*39
$BDGSA,A,3,02,03,04,,,,,,,,,,2.1,1.1,1.8,1.2*2D
$GNRMC,074159.799,A,3114.8943,N,12135.2444,E,0.23,4.94,250215,,,A*73
-{"class":"TPV","mode":3,"time":"2015-02-25T07:41:59.799Z","ept":0.005,"lat":31.248238333,"lon":121.587406667,"alt":196.400,"epx":13.701,"epy":24.264,"epv":41.400,"track":4.9400,"speed":0.118,"climb":-2.100,"epd":180.0000,"eps":48.53,"epc":82.80}
+{"class":"TPV","mode":3,"time":"2015-02-25T07:41:59.799Z","ept":0.005,"lat":31.248238333,"lon":121.587406667,"alt":196.400,"epx":13.701,"epy":24.264,"epv":41.400,"track":4.9400,"speed":0.118,"climb":-2.100,"epd":180.0000,"eps":0.20,"epc":82.80}
$PSRF151,3,1833,28693,0x7EFFD7FF*67
diff --git a/test/daemon/beidou-gb.log.chk b/test/daemon/beidou-gb.log.chk
index fc0a1ee6..80eb8e85 100644
--- a/test/daemon/beidou-gb.log.chk
+++ b/test/daemon/beidou-gb.log.chk
@@ -46,12 +46,12 @@ $GBGSV,2,2,05,209,07,033,*62
$GNRMC,053231.438,V,,,,,,,020315,,,N*5F
$PSRFEPE,053232.438,A,1.2,5.77,12.97,1.2,180.0*21
$GPGGA,053232.438,3114.8789,N,12135.2442,E,1,06,1.2,153.8,M,8.3,M,,0000*6A
-{"class":"TPV","mode":3,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epd":180.0000}
+{"class":"TPV","mode":3,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epd":180.0000,"eps":1.20}
$GNGNS,053232.438,3114.8789,N,12135.2442,E,ANNA,07,1.2,153.8,8.3,,0000*5F
$GNGSA,A,3,22,18,14,12,31,24,,,,,,,2.5,1.2,2.2*23
-{"class":"TPV","mode":3,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epv":50.600,"epd":180.0000}
+{"class":"TPV","mode":3,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epv":50.600,"epd":180.0000,"eps":1.20}
$GNGSA,A,3,201,,,,,,,,,,,,2.5,1.2,2.2*1B
-{"class":"TPV","mode":3,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epv":50.600,"epd":180.0000}
+{"class":"TPV","mode":3,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epv":50.600,"epd":180.0000,"eps":1.20}
$GPGSV,6,1,21,22,80,039,49,18,50,119,51,14,51,342,48,12,20,061,50*78
$GPGSV,6,2,21,31,51,228,34,24,04,041,43,03,00,000,20,05,00,000,26*77
$GPGSV,6,3,21,06,00,000,26,07,00,000,24,16,00,000,22,21,00,000,24*7E
@@ -63,7 +63,7 @@ $GBGSV,3,2,11,210,70,270,,207,70,267,,206,55,311,,203,49,208,*6B
$GBGSV,3,3,11,209,36,317,,214,36,147,,205,11,257,*67
{"class":"SKY","xdop":1.12,"ydop":0.98,"vdop":2.20,"tdop":1.57,"hdop":1.20,"gdop":2.94,"pdop":2.50,"satellites":[{"PRN":22,"el":80,"az":39,"ss":49,"used":true,"gnssid":0,"svid":22},{"PRN":18,"el":50,"az":119,"ss":51,"used":true,"gnssid":0,"svid":18},{"PRN":14,"el":51,"az":342,"ss":48,"used":true,"gnssid":0,"svid":14},{"PRN":12,"el":20,"az":61,"ss":50,"used":true,"gnssid":0,"svid":12},{"PRN":31,"el":51,"az":228,"ss":34,"used":true,"gnssid":0,"svid":31},{"PRN":24,"el":4,"az":41,"ss":43,"used":true,"gnssid":0,"svid":24},{"PRN":3,"el":0,"az":0,"ss":20,"used":false,"gnssid":0,"svid":3},{"PRN":5,"el":0,"az":0,"ss":26,"used":false,"gnssid":0,"svid":5},{"PRN":6,"el":0,"az":0,"ss":26,"used":false,"gnssid":0,"svid":6},{"PRN":7,"el":0,"az":0,"ss":24,"used":false,"gnssid":0,"svid":7},{"PRN":16,"el":0,"az":0,"ss":22,"used":false,"gnssid":0,"svid":16},{"PRN":21,"el":0,"az":0,"ss":24,"used":false,"gnssid":0,"svid":21},{"PRN":25,"el":34,"az":142,"ss":21,"used":false,"gnssid":0,"svid":25},{"PRN":26,"el":0,"az":0,"ss":23,"used":false,"gnssid":0,"svid":26},{"PRN":28,"el":0,"az":0,"ss":22,"used":false,"gnssid":0,"svid":28},{"PRN":27,"el":31,"az":36,"ss":0,"used":false,"gnssid":0,"svid":27},{"PRN":15,"el":21,"az":289,"ss":0,"used":false,"gnssid":0,"svid":15},{"PRN":9,"el":14,"az":38,"ss":0,"used":false,"gnssid":0,"svid":9},{"PRN":30,"el":14,"az":180,"ss":0,"used":false,"gnssid":0,"svid":30},{"PRN":11,"el":10,"az":179,"ss":0,"used":false,"gnssid":0,"svid":11},{"PRN":23,"el":6,"az":275,"ss":0,"used":false,"gnssid":0,"svid":23},{"PRN":201,"el":49,"az":147,"ss":44,"used":true},{"PRN":202,"el":23,"az":250,"ss":35,"used":false},{"PRN":204,"el":35,"az":123,"ss":42,"used":false},{"PRN":213,"el":83,"az":243,"ss":0,"used":false},{"PRN":210,"el":70,"az":270,"ss":0,"used":false},{"PRN":207,"el":70,"az":267,"ss":0,"used":false},{"PRN":206,"el":55,"az":311,"ss":0,"used":false},{"PRN":203,"el":49,"az":208,"ss":0,"used":false},{"PRN":209,"el":36,"az":317,"ss":0,"used":false},{"PRN":214,"el":36,"az":147,"ss":0,"used":false},{"PRN":205,"el":11,"az":257,"ss":0,"used":false}]}
$GNRMC,053232.438,A,3114.8789,N,12135.2442,E,0.26,167.42,020315,,,A*70
-{"class":"TPV","mode":3,"time":"2015-03-02T05:32:32.438Z","ept":0.005,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epx":16.817,"epy":14.633,"epv":50.600,"track":167.4200,"speed":0.134,"epd":180.0000}
+{"class":"TPV","mode":3,"time":"2015-03-02T05:32:32.438Z","ept":0.005,"lat":31.247981667,"lon":121.587403333,"alt":153.800,"epx":16.817,"epy":14.633,"epv":50.600,"track":167.4200,"speed":0.134,"epd":180.0000,"eps":1.20}
$PSRFEPE,053233.438,A,1.2,25.61,66.06,0.3,180.0*1E
$GPGGA,053233.438,3114.8821,N,12135.2428,E,1,06,1.2,167.2,M,8.3,M,,0000*67
$GNGNS,053233.438,3114.8821,N,12135.2428,E,ANNA,07,1.2,167.2,8.3,,0000*52
@@ -79,4 +79,4 @@ $GBGSV,3,2,11,210,70,270,,207,70,267,,206,55,311,,203,49,208,*6B
$GBGSV,3,3,11,209,36,317,,214,36,147,,205,11,257,*67
{"class":"SKY","xdop":0.80,"ydop":0.97,"vdop":2.20,"tdop":1.53,"hdop":1.20,"gdop":2.88,"pdop":2.50,"satellites":[{"PRN":22,"el":73,"az":312,"ss":50,"used":true,"gnssid":0,"svid":22},{"PRN":18,"el":66,"az":145,"ss":51,"used":true,"gnssid":0,"svid":18},{"PRN":14,"el":41,"az":330,"ss":48,"used":true,"gnssid":0,"svid":14},{"PRN":12,"el":34,"az":60,"ss":49,"used":true,"gnssid":0,"svid":12},{"PRN":31,"el":37,"az":248,"ss":34,"used":true,"gnssid":0,"svid":31},{"PRN":24,"el":13,"az":42,"ss":43,"used":true,"gnssid":0,"svid":24},{"PRN":3,"el":0,"az":0,"ss":21,"used":false,"gnssid":0,"svid":3},{"PRN":6,"el":0,"az":0,"ss":27,"used":false,"gnssid":0,"svid":6},{"PRN":7,"el":0,"az":0,"ss":23,"used":false,"gnssid":0,"svid":7},{"PRN":16,"el":0,"az":0,"ss":20,"used":false,"gnssid":0,"svid":16},{"PRN":21,"el":0,"az":0,"ss":24,"used":false,"gnssid":0,"svid":21},{"PRN":26,"el":0,"az":0,"ss":23,"used":false,"gnssid":0,"svid":26},{"PRN":25,"el":44,"az":164,"ss":0,"used":false,"gnssid":0,"svid":25},{"PRN":27,"el":38,"az":28,"ss":0,"used":false,"gnssid":0,"svid":27},{"PRN":9,"el":22,"az":36,"ss":0,"used":false,"gnssid":0,"svid":9},{"PRN":30,"el":14,"az":194,"ss":0,"used":false,"gnssid":0,"svid":30},{"PRN":11,"el":11,"az":192,"ss":0,"used":false,"gnssid":0,"svid":11},{"PRN":15,"el":6,"az":294,"ss":0,"used":false,"gnssid":0,"svid":15},{"PRN":201,"el":49,"az":147,"ss":44,"used":true},{"PRN":202,"el":23,"az":250,"ss":35,"used":false},{"PRN":204,"el":35,"az":123,"ss":42,"used":false},{"PRN":213,"el":83,"az":243,"ss":0,"used":false},{"PRN":210,"el":70,"az":270,"ss":0,"used":false},{"PRN":207,"el":70,"az":267,"ss":0,"used":false},{"PRN":206,"el":55,"az":311,"ss":0,"used":false},{"PRN":203,"el":49,"az":208,"ss":0,"used":false},{"PRN":209,"el":36,"az":317,"ss":0,"used":false},{"PRN":214,"el":36,"az":147,"ss":0,"used":false},{"PRN":205,"el":11,"az":257,"ss":0,"used":false}]}
$GNRMC,053233.438,A,3114.8821,N,12135.2428,E,0.07,167.42,020315,,,A*73
-{"class":"TPV","mode":3,"time":"2015-03-02T05:32:33.438Z","ept":0.005,"lat":31.248035000,"lon":121.587380000,"alt":167.200,"epx":16.817,"epy":14.633,"epv":50.600,"track":167.4200,"speed":0.036,"climb":13.400,"epd":180.0000,"eps":33.63,"epc":101.20}
+{"class":"TPV","mode":3,"time":"2015-03-02T05:32:33.438Z","ept":0.005,"lat":31.248035000,"lon":121.587380000,"alt":167.200,"epx":16.817,"epy":14.633,"epv":50.600,"track":167.4200,"speed":0.036,"climb":13.400,"epd":180.0000,"eps":0.30,"epc":101.20}
diff --git a/test/daemon/italk-binary.log.chk b/test/daemon/italk-binary.log.chk
index f431380b..6098ec33 100644
--- a/test/daemon/italk-binary.log.chk
+++ b/test/daemon/italk-binary.log.chk
@@ -2,7 +2,7 @@ $GPZDA,221256.14,06,07,2009,00,00*69
$GPGGA,221256,5333.7947,N,11326.3773,W,1,05,,661.09,M,-19.872,M,,*67
$GPRMC,221256,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3B
$GPGSA,A,3,,,,,,,,,,,,,,,*1C
-{"class":"TPV","mode":3,"time":"2009-07-06T22:12:56.144Z","ept":0.005,"lat":53.563244879,"lon":-113.439622385,"alt":661.089,"track":0.0000,"speed":0.000,"climb":0.000,"ecefx":-1510306.00,"ecefy":-3483499.97,"ecefz":5108537.11,"ecefvx":0.00,"ecefvy":0.00,"ecefvz":0.00}
+{"class":"TPV","mode":3,"time":"2009-07-06T22:12:56.144Z","ept":0.005,"lat":53.563244879,"lon":-113.439622385,"alt":661.089,"track":0.0000,"speed":0.000,"climb":0.000,"eps":0.45,"ecefx":-1510306.00,"ecefy":-3483499.97,"ecefz":5108537.11,"ecefvx":0.00,"ecefvy":0.00,"ecefvz":0.00}
$GPGSV,3,1,09,03,35,061,32,06,26,049,34,07,76,101,23,08,60,183,38*71
$GPGSV,3,2,09,10,23,180,00,13,33,166,16,19,43,094,47,25,54,109,44*73
$GPGSV,3,3,09,28,30,125,00*4F
@@ -12,7 +12,7 @@ $GPGGA,221257,5333.7947,N,11326.3773,W,1,05,6.70,661.09,M,-19.872,M,,*79
$GPRMC,221257,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3A
$GPGSA,A,3,10,19,8,13,25,,,,,,,,16.1,6.7,14.7*03
$GPGBS,221257,36.95,M,93.52,M,337.46,M*3E
-{"class":"TPV","mode":3,"time":"2009-07-06T22:12:57.145Z","ept":0.005,"lat":53.563244879,"lon":-113.439622385,"alt":661.089,"epx":36.952,"epy":93.515,"epv":337.463,"track":0.0000,"speed":0.000,"climb":0.000,"eps":186.84,"epc":674.25,"ecefx":-1510306.00,"ecefy":-3483499.97,"ecefz":5108537.11,"ecefvx":0.00,"ecefvy":0.00,"ecefvz":0.00}
+{"class":"TPV","mode":3,"time":"2009-07-06T22:12:57.145Z","ept":0.005,"lat":53.563244879,"lon":-113.439622385,"alt":661.089,"epx":36.952,"epy":93.515,"epv":337.463,"track":0.0000,"speed":0.000,"climb":0.000,"eps":0.45,"epc":674.25,"ecefx":-1510306.00,"ecefy":-3483499.97,"ecefz":5108537.11,"ecefvx":0.00,"ecefvy":0.00,"ecefvz":0.00}
$GPGSV,3,1,09,03,35,061,31,06,26,049,34,07,76,101,00,08,60,183,38*73
$GPGSV,3,2,09,10,23,180,05,13,33,166,12,19,43,094,47,25,54,109,44*72
$GPGSV,3,3,09,28,30,125,00*4F
@@ -22,7 +22,7 @@ $GPGGA,221258,5333.7947,N,11326.3773,W,1,05,6.70,661.09,M,-19.872,M,,*76
$GPRMC,221258,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*35
$GPGSA,A,3,10,28,25,6,25,,,,,,,,16.1,6.7,14.7*0A
$GPGBS,221258,36.95,M,93.52,M,337.46,M*31
-{"class":"TPV","mode":3,"time":"2009-07-06T22:12:58.146Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":36.952,"epy":93.515,"epv":337.463,"track":0.0000,"speed":0.000,"climb":0.000,"eps":186.84,"epc":674.25,"ecefx":-1510306.00,"ecefy":-3483499.98,"ecefz":5108537.11,"ecefvx":0.00,"ecefvy":0.00,"ecefvz":0.00}
+{"class":"TPV","mode":3,"time":"2009-07-06T22:12:58.146Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":36.952,"epy":93.515,"epv":337.463,"track":0.0000,"speed":0.000,"climb":0.000,"eps":0.45,"epc":674.25,"ecefx":-1510306.00,"ecefy":-3483499.98,"ecefz":5108537.11,"ecefvx":0.00,"ecefvy":0.00,"ecefvz":0.00}
$GPGSV,3,1,09,03,35,061,31,06,26,049,34,07,76,101,00,08,60,183,38*73
$GPGSV,3,2,09,10,23,180,22,13,33,166,00,19,43,094,47,25,54,109,44*74
$GPGSV,3,3,09,28,30,125,09*46
diff --git a/test/daemon/zodiac.log.chk b/test/daemon/zodiac.log.chk
index 3451ed54..82eaf0a7 100644
--- a/test/daemon/zodiac.log.chk
+++ b/test/daemon/zodiac.log.chk
@@ -2,146 +2,146 @@ $GPZDA,204220.00,13,06,2005,00,00*63
$GPGGA,204220,5203.7576,N,00508.3123,E,1,08,,8.23,M,47.120,M,0.91,W*13
$GPRMC,204220,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*23
$GPGSA,A,3,,,,,,,,,,,,,,,*1C
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:20.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.230,"track":0.0000,"speed":0.000,"climb":-0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:20.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.230,"track":0.0000,"speed":0.000,"climb":-0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:20.000Z"}
$GPZDA,204221.00,13,06,2005,00,00*62
$GPGGA,204221,5203.7576,N,00508.3123,E,1,08,,8.23,M,47.120,M,0.91,W*12
$GPRMC,204221,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*22
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:21.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.230,"track":0.0000,"speed":0.000,"climb":0.000}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:21.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.230,"track":0.0000,"speed":0.000,"climb":0.000,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:21.000Z"}
$GPZDA,204222.00,13,06,2005,00,00*61
$GPGGA,204222,5203.7576,N,00508.3123,E,1,08,,8.20,M,47.120,M,0.91,W*12
$GPRMC,204222,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*21
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:22.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.200,"track":0.0000,"speed":0.000,"climb":-0.020}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:22.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.200,"track":0.0000,"speed":0.000,"climb":-0.020,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:22.000Z"}
$GPZDA,204223.00,13,06,2005,00,00*60
$GPGGA,204223,5203.7576,N,00508.3123,E,1,08,,8.28,M,47.120,M,0.91,W*1B
$GPRMC,204223,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*20
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:23.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":0.050}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:23.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":0.050,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:23.000Z"}
$GPZDA,204224.00,13,06,2005,00,00*67
$GPGGA,204224,5203.7576,N,00508.3123,E,1,08,,8.27,M,47.120,M,0.91,W*13
$GPRMC,204224,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*27
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:24.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:24.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:24.000Z"}
$GPZDA,204225.00,13,06,2005,00,00*66
$GPGGA,204225,5203.7576,N,00508.3123,E,1,08,,8.26,M,47.120,M,0.91,W*13
$GPRMC,204225,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*26
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:25.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.260,"track":0.0000,"speed":0.000,"climb":0.000}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:25.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.260,"track":0.0000,"speed":0.000,"climb":0.000,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:25.000Z"}
$GPZDA,204226.00,13,06,2005,00,00*65
$GPGGA,204226,5203.7576,N,00508.3123,E,1,08,,8.29,M,47.120,M,0.91,W*1F
$GPRMC,204226,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*25
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:26.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.030}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:26.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.030,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:26.000Z"}
$GPZDA,204227.00,13,06,2005,00,00*64
$GPGGA,204227,5203.7576,N,00508.3123,E,1,08,,8.28,M,47.120,M,0.91,W*1F
$GPRMC,204227,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*24
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:27.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":0.000}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:27.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":0.000,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:27.000Z"}
$GPZDA,204228.00,13,06,2005,00,00*6B
$GPGGA,204228,5203.7576,N,00508.3123,E,1,08,,8.29,M,47.120,M,0.91,W*11
$GPRMC,204228,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2B
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:28.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:28.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:28.000Z"}
$GPZDA,204229.00,13,06,2005,00,00*6A
$GPGGA,204229,5203.7576,N,00508.3123,E,1,08,,8.28,M,47.120,M,0.91,W*11
$GPRMC,204229,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2A
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:29.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":-0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:29.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":-0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:29.000Z"}
$GPZDA,204230.00,13,06,2005,00,00*62
$GPGGA,204230,5203.7576,N,00508.3123,E,1,08,,8.32,M,47.120,M,0.91,W*12
$GPRMC,204230,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*22
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:30.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.320,"track":0.0000,"speed":0.000,"climb":0.040}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:30.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.320,"track":0.0000,"speed":0.000,"climb":0.040,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:30.000Z"}
$GPZDA,204231.00,13,06,2005,00,00*63
$GPGGA,204231,5203.7576,N,00508.3123,E,1,08,,8.33,M,47.120,M,0.91,W*12
$GPRMC,204231,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*23
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:31.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.330,"track":0.0000,"speed":0.000,"climb":0.030}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:31.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.330,"track":0.0000,"speed":0.000,"climb":0.030,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:31.000Z"}
$GPZDA,204232.00,13,06,2005,00,00*60
$GPGGA,204232,5203.7576,N,00508.3123,E,1,08,,8.31,M,47.120,M,0.91,W*13
$GPRMC,204232,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*20
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:32.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.310,"track":0.0000,"speed":0.000,"climb":0.000}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:32.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.310,"track":0.0000,"speed":0.000,"climb":0.000,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:32.000Z"}
$GPZDA,204233.00,13,06,2005,00,00*61
$GPGGA,204233,5203.7576,N,00508.3123,E,1,08,,8.27,M,47.120,M,0.91,W*15
$GPRMC,204233,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*21
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:33.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":-0.020}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:33.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":-0.020,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:33.000Z"}
$GPZDA,204234.00,13,06,2005,00,00*66
$GPGGA,204234,5203.7576,N,00508.3123,E,1,08,,8.29,M,47.120,M,0.91,W*1C
$GPRMC,204234,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*26
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:34.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.020}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:34.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.020,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:34.000Z"}
$GPZDA,204235.00,13,06,2005,00,00*67
$GPGGA,204235,5203.7576,N,00508.3123,E,1,08,,8.27,M,47.120,M,0.91,W*13
$GPRMC,204235,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*27
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:35.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":-0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:35.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":-0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:35.000Z"}
$GPZDA,204236.00,13,06,2005,00,00*64
$GPGGA,204236,5203.7576,N,00508.3123,E,1,08,,8.26,M,47.120,M,0.91,W*11
$GPRMC,204236,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*24
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:36.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.260,"track":0.0000,"speed":0.000,"climb":-0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:36.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.260,"track":0.0000,"speed":0.000,"climb":-0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:36.000Z"}
$GPZDA,204237.00,13,06,2005,00,00*65
$GPGGA,204237,5203.7576,N,00508.3123,E,1,08,,8.25,M,47.120,M,0.91,W*13
$GPRMC,204237,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*25
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:37.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.250,"track":0.0000,"speed":0.000,"climb":0.000}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:37.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.250,"track":0.0000,"speed":0.000,"climb":0.000,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:37.000Z"}
$GPZDA,204238.00,13,06,2005,00,00*6A
$GPGGA,204238,5203.7576,N,00508.3123,E,1,08,,8.20,M,47.120,M,0.91,W*19
$GPRMC,204238,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2A
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:38.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.200,"track":0.0000,"speed":0.000,"climb":-0.030}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:38.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.200,"track":0.0000,"speed":0.000,"climb":-0.030,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:38.000Z"}
$GPZDA,204239.00,13,06,2005,00,00*6B
$GPGGA,204239,5203.7576,N,00508.3123,E,1,08,,8.18,M,47.120,M,0.91,W*13
$GPRMC,204239,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2B
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:39.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.180,"track":0.0000,"speed":0.000,"climb":-0.030}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:39.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.180,"track":0.0000,"speed":0.000,"climb":-0.030,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:39.000Z"}
$GPZDA,204240.00,13,06,2005,00,00*65
$GPGGA,204240,5203.7576,N,00508.3123,E,1,08,,8.19,M,47.120,M,0.91,W*1C
$GPRMC,204240,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*25
$GPGSA,A,3,5,4,14,7,30,24,9,22,,,,,,,*13
-{"class":"TPV","mode":3,"time":"2005-06-13T20:42:40.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.190,"track":0.0000,"speed":0.000,"climb":-0.010}
+{"class":"TPV","mode":3,"time":"2005-06-13T20:42:40.000Z","leapseconds":13,"ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.190,"track":0.0000,"speed":0.000,"climb":-0.010,"eps":1.37}
$PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C
{"class":"SKY","time":"2005-06-13T20:42:40.000Z"}