summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2015-02-28 09:03:49 -0500
committerEric S. Raymond <esr@thyrsus.com>2015-02-28 09:03:49 -0500
commit094c2c7bd7e4ebbbdabf3d448829523553d78b0f (patch)
treee71d1a93cccc3e69654435acd1d134c1435d4e04
parentb6e4309ac133d6afa54602dd32b5c95ffcd37310 (diff)
downloadgpsd-094c2c7bd7e4ebbbdabf3d448829523553d78b0f.tar.gz
Full support for Beido and QZSS constellations in NMEA0183 skyviews.
All regression tests pass. Required one test rebuild for QZNSS; Beidou test added.
-rw-r--r--NEWS3
-rw-r--r--driver_nmea0183.c77
-rw-r--r--gpsd.h-tail2
-rw-r--r--packet.c17
-rw-r--r--packet_states.h2
-rw-r--r--test/daemon/beidou.log86
-rw-r--r--test/daemon/beidou.log.chk100
-rw-r--r--test/daemon/sl869.log1
-rw-r--r--test/daemon/sl869.log.chk30
-rw-r--r--test/daemon/ublox-lea-4h.log.chk6
10 files changed, 309 insertions, 15 deletions
diff --git a/NEWS b/NEWS
index 60ec9e1c..9353a08e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,8 @@
GPSD project news
+Repository head:
+ Skyview support for the Beidou and QZSS in the NMEA0183 driver.
+
3.13: 2015-02-26 (Eric S. Raymond <esr@snark.thyrsus.com>)
compiler.h inclusion removed for gps.h so it's standalone for /usr/include.
TOFF JSON report gives the offset between GPS top of second and clock time.
diff --git a/driver_nmea0183.c b/driver_nmea0183.c
index af6de5f5..7513d262 100644
--- a/driver_nmea0183.c
+++ b/driver_nmea0183.c
@@ -456,6 +456,53 @@ static gps_mask_t processGST(int count, char *field[], struct gps_device_t *sess
return GST_SET | ONLINE_SET;
}
+static int nmeaid_to_prn(char *talker, int satnum)
+/* deal with range-mapping attempts to to use IDs 1-32 by Beidou, etc. */
+{
+ /*
+ * According to https://github.com/mvglasow/satstat/wiki/NMEA-IDs
+ * NMEA IDs can be roughly divided into the following ranges:
+ *
+ * 1..32: GPS
+ * 33..54: Various SBAS systems (EGNOS, WAAS, SDCM, GAGAN, MSAS)
+ * ... some IDs still unused
+ * 55..64: not used (might be assigned to further SBAS systems)
+ * 65..88: GLONASS
+ * 89..96: GLONASS (future extensions?)
+ * 97..192: not used
+ * 193..195: QZSS
+ * 196..200: QZSS (future extensions?)
+ * 201..235: Beidou
+ *
+ * The issue is what to do when GPSes from these different systems
+ * fight for IDs in the 1-32 range, as in this pair of Beidou sentences
+ *
+ * $BDGSV,2,1,07,01,00,000,45,02,13,089,35,03,00,000,37,04,00,000,42*6E
+ * $BDGSV,2,2,07,05,27,090,,13,19,016,,11,07,147,*5E
+ *
+ * Because the PRNs are only used for generating a satellite
+ * chart, mistakes here aren't dangerous. The code will record
+ * and use multiple sats with the same ID in one skyview; in
+ * effect, they're recorded by the order in which they occur
+ * rather than by PRN.
+ */
+ // NMEA-ID (33..64) to SBAS PRN 120-151.
+ if (satnum >= 33 && satnum <= 64)
+ satnum += 87;
+ if (satnum < 32) {
+ /* map Beidou IDs */
+ if (talker[0] == 'B' && talker[1] == 'D')
+ satnum += 200;
+ /* GLONASS reports don't seem to do this, but better safe than sorry */
+ if (talker[0] == 'G' && (talker[1] == 'L' || talker[1] == 'N'))
+ satnum += 37;
+ /* QZSS sentences have not been seen in the wild yet */
+ if (talker[0] == 'Q' && talker[1] == 'Z')
+ satnum += 193;
+ }
+
+ return satnum;
+}
static gps_mask_t processGSA(int count, char *field[],
struct gps_device_t *session)
@@ -513,7 +560,7 @@ static gps_mask_t processGSA(int count, char *field[],
memset(session->nmea.sats_used, 0, sizeof(session->nmea.sats_used));
/* the magic 6 here counts the tag, two mode fields, and the DOP fields */
for (i = 0; i < count - 6; i++) {
- int prn = atoi(field[i + 3]);
+ int prn = nmeaid_to_prn(field[0], atoi(field[i + 3]));
if (prn > 0)
session->nmea.sats_used[session->gpsdata.satellites_used++] =
(unsigned short)prn;
@@ -547,10 +594,13 @@ static gps_mask_t processGSV(int count, char *field[],
* <repeat for up to 4 satellites per sentence>
* There my be up to three GSV sentences in a data packet
*
- * Can occur with talker ID GP (GNSS) or GL (GLONASS). In the
+ * Can occur with talker ID GP (GNSS), GL (GLONASS), GN (GLONASS),
+ * BD (Beidou), or QZ (QZSS). GL is to be used when GSVs are mixed
+ * contaiuning GLONASS, GN when GSVs contain GLONASS only. In the
* GLONASS version sat IDs run from 65-96 (NMEA0183 standardizes
* this). At least one GPS, the BU-353 GLONASS, emits a GPGSV set
- * followed by a GLGSV set. We need to combine these.
+ * followed by a GLGSV set. We have also seen a SiRF-IV variant
+ * that emits GPGSV followed by BDGSV. We need to combine these.
*/
int n, fldnum;
if (count <= 3) {
@@ -576,14 +626,20 @@ static gps_mask_t processGSV(int count, char *field[],
gpsd_zero_satellites(&session->gpsdata);
return ONLINE_SET;
} else if (session->nmea.part == 1) {
- /* might have gone from GPGSV to GLGSV, in which case accumulate */
+ /*
+ * might have gone from GPGSV to GLGSV/BDGSV/QZGSV,
+ * in which case accumulate
+ */
if (session->nmea.last_gsv_talker == '\0' || GSV_TALKER == session->nmea.last_gsv_talker) {
gpsd_zero_satellites(&session->gpsdata);
}
session->nmea.last_gsv_talker = GSV_TALKER;
- if (session->nmea.last_gsv_talker == 'L') {
+ if (session->nmea.last_gsv_talker == 'L')
session->nmea.seen_glgsv = true;
- }
+ if (session->nmea.last_gsv_talker == 'D')
+ session->nmea.seen_bdgsv = true;
+ if (session->nmea.last_gsv_talker == 'Z')
+ session->nmea.seen_qzss = true;
}
for (fldnum = 4; fldnum < count;) {
@@ -596,10 +652,7 @@ static gps_mask_t processGSV(int count, char *field[],
break;
}
sp = &session->gpsdata.skyview[session->gpsdata.satellites_visible];
- sp->PRN = (short)atoi(field[fldnum++]);
- // NMEA-ID (33..64) to SBAS PRN.
- if (sp->PRN >= 33 && sp->PRN <= 64)
- sp->PRN += 87;
+ sp->PRN = nmeaid_to_prn(field[0], atoi(field[fldnum++]));
sp->elevation = (short)atoi(field[fldnum++]);
sp->azimuth = (short)atoi(field[fldnum++]);
sp->ss = (float)atoi(field[fldnum++]);
@@ -654,8 +707,8 @@ static gps_mask_t processGSV(int count, char *field[],
"GSV: Satellite data OK (%d of %d).\n",
session->nmea.part, session->nmea.await);
- /* assumes the GLGSV group, if present, is emitted after the GPGSV */
- if (session->nmea.seen_glgsv && GSV_TALKER == 'P')
+ /* assumes GLGSV or BDGSV group, if present, is emitted after the GPGSV */
+ if ((session->nmea.seen_glgsv || session->nmea.seen_bdgsv || session->nmea.seen_qzss) && GSV_TALKER == 'P')
return ONLINE_SET;
return SATELLITE_SET;
#undef GSV_TALKER
diff --git a/gpsd.h-tail b/gpsd.h-tail
index 5b82f117..a6a553d9 100644
--- a/gpsd.h-tail
+++ b/gpsd.h-tail
@@ -539,6 +539,8 @@ struct gps_device_t {
bool latch_mode;
char last_gga_timestamp[16];
bool seen_glgsv;
+ bool seen_bdgsv;
+ bool seen_qzss;
char last_gsv_talker;
/*
* State for the cycle-tracking machinery.
diff --git a/packet.c b/packet.c
index 82bd2343..7575f042 100644
--- a/packet.c
+++ b/packet.c
@@ -94,6 +94,7 @@ PERMISSIONS
* $GP -- Global Positioning System.
* $GL -- GLONASS, according to IEIC 61162-1
* $GN -- Mixed GPS and GLONASS data, according to IEIC 61162-1
+ * $BD -- Beidou
* $II -- Integrated Instrumentation (Raytheon's SeaTalk system).
* $IN -- Integrated Navigation (Garmin uses this).
* $WI -- Weather instrument (Airmar PB200, Radio Ocean ROWIND, Vaisala WXT520).
@@ -369,6 +370,10 @@ static bool nextstate(struct gps_lexer_t *lexer, unsigned char c)
lexer->state = SOUNDER_LEAD_1;
else if (c == 'Y')
lexer->state = TRANSDUCER_LEAD_1;
+ else if (c == 'B')
+ lexer->state = BEIDOU_LEAD_1;
+ else if (c == 'Q')
+ lexer->state = QZSS_LEAD_1;
#ifdef OCEANSERVER_ENABLE
else if (c == 'C')
lexer->state = NMEA_LEADER_END;
@@ -604,6 +609,18 @@ static bool nextstate(struct gps_lexer_t *lexer, unsigned char c)
else
return character_pushback(lexer, GROUND_STATE);
break;
+ case BEIDOU_LEAD_1:
+ if (c == 'D') /* Beidou leader accepted */
+ lexer->state = NMEA_LEADER_END;
+ else
+ return character_pushback(lexer, GROUND_STATE);
+ break;
+ case QZSS_LEAD_1:
+ if (c == 'Z') /* QZSS leader accepted */
+ lexer->state = NMEA_LEADER_END;
+ else
+ return character_pushback(lexer, GROUND_STATE);
+ break;
#ifdef TRIPMATE_ENABLE
case ASTRAL_1:
if (c == 'S') {
diff --git a/packet_states.h b/packet_states.h
index 0d115e2c..22dbccf9 100644
--- a/packet_states.h
+++ b/packet_states.h
@@ -35,6 +35,8 @@
ECDIS_LEAD_1, /* ECDIS packet leader 'E' */
SOUNDER_LEAD_1, /* Depth sounder packet leader 'S' */
TRANSDUCER_LEAD_1, /* Generic transducer packet leader 'Y' */
+ BEIDOU_LEAD_1, /* Beidou leader */
+ QZSS_LEAD_1, /* Quasi-Zenith Satellite System leader */
#endif /* NMEA_ENABLE */
DLE_LEADER, /* we've seen the TSIP/EverMore leader (DLE) */
diff --git a/test/daemon/beidou.log b/test/daemon/beidou.log
new file mode 100644
index 00000000..62e99aab
--- /dev/null
+++ b/test/daemon/beidou.log
@@ -0,0 +1,86 @@
+# Name: Unknown
+# Chipset = SiRF-IV
+# Date = 2015-02-25
+# Submitter = Eli Huang <eli.huang.cn@gmail.com>
+# Notes: Contains Beidou and GLONASS sentences. Use this to test that Beidou
+# NMEA IDs are being mapped properly and that Beidou GSV sentences are
+# properly integrated into a combined skyview.
+$PSRFEPE,074150.799,V,,,,,*23
+$GNGGA,074150.799,,,,,0,00,,,M,0.0,M,,0000,*64
+$GNGNS,074150.799,,,,,NNNN,00,,,0.0,,0000*63
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+$GPGSV,7,1,25,01,30,046,22,05,00,000,27,07,00,000,24,08,00,000,27*74
+$GPGSV,7,2,25,09,27,171,25,11,00,000,29,12,00,000,42,14,31,261,49*76
+$GPGSV,7,3,25,18,00,000,25,21,00,000,24,25,52,244,51,26,00,000,21*70
+$GPGSV,7,4,25,28,00,000,27,29,49,174,42,32,14,319,46,31,55,220,*7F
+$GPGSV,7,5,25,27,43,190,,15,30,319,,17,27,064,,10,24,021,*7F
+$GPGSV,7,6,25,23,21,343,,02,19,139,,20,15,059,,24,14,014,*74
+$GPGSV,7,7,25,04,08,012,*41
+$BDGSV,2,1,07,01,00,000,45,02,01,090,35,03,00,000,38,04,00,000,42*6A
+$BDGSV,2,2,07,05,27,090,,13,19,016,,11,07,147,*5E
+$GNRMC,074150.799,V,,,,,,,250215,,,N*52
+$PSRFEPE,074151.799,V,,,,,*22
+$GNGGA,074151.799,,,,,0,00,,,M,0.0,M,,0000,*65
+$GNGNS,074151.799,,,,,NNNN,00,,,0.0,,0000*62
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+$GNRMC,074151.799,V,,,,,,,250215,,,N*53
+$PSRFEPE,074152.799,V,,,,,*21
+$GNGGA,074152.799,,,,,0,00,,,M,0.0,M,,0000,*66
+$GNGNS,074152.799,,,,,NNNN,00,,,0.0,,0000*61
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+$GNRMC,074152.799,V,,,,,,,250215,,,N*50
+$PSRF151,3,1833,28692,0x7EFFFFFF*15
+$PSRFEPE,074153.799,V,,,,,*20
+$GNGGA,074153.799,,,,,0,00,,,M,0.0,M,,0000,*67
+$GNGNS,074153.799,,,,,NNNN,00,,,0.0,,0000*60
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+$GNRMC,074153.799,V,,,,,,,250215,,,N*51
+$PSRFEPE,074154.799,V,,,,,*27
+$GNGGA,074154.799,,,,,0,00,,,M,0.0,M,,0000,*60
+$GNGNS,074154.799,,,,,NNNN,00,,,0.0,,0000*67
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+$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
+$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
+$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
+$GPGSV,5,4,20,28,00,000,24,29,35,080,43,31,62,089,,15,42,298,*72
+$GPGSV,5,5,20,27,40,094,,30,24,225,,23,22,310,,10,05,340,*77
+$BDGSV,3,1,12,02,33,240,35,03,51,201,37,04,35,123,42,01,42,130,45*6B
+$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
+$GNRMC,074155.799,A,3114.8770,N,12135.2463,E,0.30,4.94,250215,,,A*76
+$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
+$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
+$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
+$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
+$PSRF151,3,1833,28693,0x7EFFD7FF*67
diff --git a/test/daemon/beidou.log.chk b/test/daemon/beidou.log.chk
new file mode 100644
index 00000000..864ab16e
--- /dev/null
+++ b/test/daemon/beidou.log.chk
@@ -0,0 +1,100 @@
+$PSRFEPE,074150.799,V,,,,,*23
+$GNGGA,074150.799,,,,,0,00,,,M,0.0,M,,0000,*64
+$GNGNS,074150.799,,,,,NNNN,00,,,0.0,,0000*63
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+{"class":"TPV","mode":1}
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+{"class":"TPV","mode":1}
+$GPGSV,7,1,25,01,30,046,22,05,00,000,27,07,00,000,24,08,00,000,27*74
+$GPGSV,7,2,25,09,27,171,25,11,00,000,29,12,00,000,42,14,31,261,49*76
+$GPGSV,7,3,25,18,00,000,25,21,00,000,24,25,52,244,51,26,00,000,21*70
+$GPGSV,7,4,25,28,00,000,27,29,49,174,42,32,14,319,46,31,55,220,*7F
+$GPGSV,7,5,25,27,43,190,,15,30,319,,17,27,064,,10,24,021,*7F
+$GPGSV,7,6,25,23,21,343,,02,19,139,,20,15,059,,24,14,014,*74
+$GPGSV,7,7,25,04,08,012,*41
+{"class":"SKY","satellites":[{"PRN":1,"el":30,"az":46,"ss":22,"used":false},{"PRN":5,"el":0,"az":0,"ss":27,"used":false},{"PRN":7,"el":0,"az":0,"ss":24,"used":false},{"PRN":8,"el":0,"az":0,"ss":27,"used":false},{"PRN":9,"el":27,"az":171,"ss":25,"used":false},{"PRN":11,"el":0,"az":0,"ss":29,"used":false},{"PRN":12,"el":0,"az":0,"ss":42,"used":false},{"PRN":14,"el":31,"az":261,"ss":49,"used":false},{"PRN":18,"el":0,"az":0,"ss":25,"used":false},{"PRN":21,"el":0,"az":0,"ss":24,"used":false},{"PRN":25,"el":52,"az":244,"ss":51,"used":false},{"PRN":26,"el":0,"az":0,"ss":21,"used":false},{"PRN":28,"el":0,"az":0,"ss":27,"used":false},{"PRN":29,"el":49,"az":174,"ss":42,"used":false},{"PRN":32,"el":14,"az":319,"ss":46,"used":false},{"PRN":31,"el":55,"az":220,"ss":0,"used":false},{"PRN":27,"el":43,"az":190,"ss":0,"used":false},{"PRN":15,"el":30,"az":319,"ss":0,"used":false},{"PRN":17,"el":27,"az":64,"ss":0,"used":false},{"PRN":10,"el":24,"az":21,"ss":0,"used":false},{"PRN":23,"el":21,"az":343,"ss":0,"used":false},{"PRN":2,"el":19,"az":139,"ss":0,"used":false},{"PRN":20,"el":15,"az":59,"ss":0,"used":false},{"PRN":24,"el":14,"az":14,"ss":0,"used":false},{"PRN":4,"el":8,"az":12,"ss":0,"used":false}]}
+$BDGSV,2,1,07,01,00,000,45,02,01,090,35,03,00,000,38,04,00,000,42*6A
+$BDGSV,2,2,07,05,27,090,,13,19,016,,11,07,147,*5E
+{"class":"SKY","satellites":[{"PRN":1,"el":30,"az":46,"ss":22,"used":false},{"PRN":5,"el":0,"az":0,"ss":27,"used":false},{"PRN":7,"el":0,"az":0,"ss":24,"used":false},{"PRN":8,"el":0,"az":0,"ss":27,"used":false},{"PRN":9,"el":27,"az":171,"ss":25,"used":false},{"PRN":11,"el":0,"az":0,"ss":29,"used":false},{"PRN":12,"el":0,"az":0,"ss":42,"used":false},{"PRN":14,"el":31,"az":261,"ss":49,"used":false},{"PRN":18,"el":0,"az":0,"ss":25,"used":false},{"PRN":21,"el":0,"az":0,"ss":24,"used":false},{"PRN":25,"el":52,"az":244,"ss":51,"used":false},{"PRN":26,"el":0,"az":0,"ss":21,"used":false},{"PRN":28,"el":0,"az":0,"ss":27,"used":false},{"PRN":29,"el":49,"az":174,"ss":42,"used":false},{"PRN":32,"el":14,"az":319,"ss":46,"used":false},{"PRN":31,"el":55,"az":220,"ss":0,"used":false},{"PRN":27,"el":43,"az":190,"ss":0,"used":false},{"PRN":15,"el":30,"az":319,"ss":0,"used":false},{"PRN":17,"el":27,"az":64,"ss":0,"used":false},{"PRN":10,"el":24,"az":21,"ss":0,"used":false},{"PRN":23,"el":21,"az":343,"ss":0,"used":false},{"PRN":2,"el":19,"az":139,"ss":0,"used":false},{"PRN":20,"el":15,"az":59,"ss":0,"used":false},{"PRN":24,"el":14,"az":14,"ss":0,"used":false},{"PRN":4,"el":8,"az":12,"ss":0,"used":false},{"PRN":201,"el":0,"az":0,"ss":45,"used":false},{"PRN":202,"el":1,"az":90,"ss":35,"used":false},{"PRN":203,"el":0,"az":0,"ss":38,"used":false},{"PRN":204,"el":0,"az":0,"ss":42,"used":false},{"PRN":205,"el":27,"az":90,"ss":0,"used":false},{"PRN":213,"el":19,"az":16,"ss":0,"used":false},{"PRN":211,"el":7,"az":147,"ss":0,"used":false}]}
+$GNRMC,074150.799,V,,,,,,,250215,,,N*52
+$PSRFEPE,074151.799,V,,,,,*22
+$GNGGA,074151.799,,,,,0,00,,,M,0.0,M,,0000,*65
+$GNGNS,074151.799,,,,,NNNN,00,,,0.0,,0000*62
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+{"class":"TPV","mode":1}
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+{"class":"TPV","mode":1}
+$GNRMC,074151.799,V,,,,,,,250215,,,N*53
+$PSRFEPE,074152.799,V,,,,,*21
+$GNGGA,074152.799,,,,,0,00,,,M,0.0,M,,0000,*66
+$GNGNS,074152.799,,,,,NNNN,00,,,0.0,,0000*61
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+{"class":"TPV","mode":1}
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+{"class":"TPV","mode":1}
+$GNRMC,074152.799,V,,,,,,,250215,,,N*50
+$PSRF151,3,1833,28692,0x7EFFFFFF*15
+$PSRFEPE,074153.799,V,,,,,*20
+$GNGGA,074153.799,,,,,0,00,,,M,0.0,M,,0000,*67
+$GNGNS,074153.799,,,,,NNNN,00,,,0.0,,0000*60
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+{"class":"TPV","mode":1}
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+{"class":"TPV","mode":1}
+$GNRMC,074153.799,V,,,,,,,250215,,,N*51
+$PSRFEPE,074154.799,V,,,,,*27
+$GNGGA,074154.799,,,,,0,00,,,M,0.0,M,,0000,*60
+$GNGNS,074154.799,,,,,NNNN,00,,,0.0,,0000*67
+$GPGSA,A,1,,,,,,,,,,,,,,,,*32
+{"class":"TPV","mode":1}
+$BDGSA,A,1,,,,,,,,,,,,,,,,*23
+{"class":"TPV","mode":1}
+$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}
+$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
+{"class":"TPV","mode":3,"lat":31.247950000,"lon":121.587438333,"alt":156.900,"epv":112.700}
+$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}
+$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
+$GPGSV,5,4,20,28,00,000,24,29,35,080,43,31,62,089,,15,42,298,*72
+$GPGSV,5,5,20,27,40,094,,30,24,225,,23,22,310,,10,05,340,*77
+$BDGSV,3,1,12,02,33,240,35,03,51,201,37,04,35,123,42,01,42,130,45*6B
+$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.93,"ydop":75.33,"vdop":4.90,"tdop":5.93,"hdop":1.30,"gdop":90.07,"pdop":5.10,"satellites":[{"PRN":25,"el":76,"az":102,"ss":50,"used":false},{"PRN":32,"el":29,"az":284,"ss":47,"used":false},{"PRN":1,"el":2,"az":1,"ss":24,"used":false},{"PRN":7,"el":0,"az":0,"ss":23,"used":false},{"PRN":8,"el":0,"az":0,"ss":46,"used":false},{"PRN":9,"el":19,"az":94,"ss":0,"used":false},{"PRN":12,"el":0,"az":0,"ss":44,"used":false},{"PRN":14,"el":68,"az":202,"ss":49,"used":false},{"PRN":18,"el":13,"az":225,"ss":27,"used":false},{"PRN":20,"el":0,"az":0,"ss":29,"used":false},{"PRN":22,"el":16,"az":229,"ss":37,"used":false},{"PRN":26,"el":0,"az":0,"ss":24,"used":false},{"PRN":28,"el":0,"az":0,"ss":24,"used":false},{"PRN":29,"el":35,"az":80,"ss":43,"used":false},{"PRN":31,"el":62,"az":89,"ss":0,"used":false},{"PRN":15,"el":42,"az":298,"ss":0,"used":false},{"PRN":27,"el":40,"az":94,"ss":0,"used":false},{"PRN":30,"el":24,"az":225,"ss":0,"used":false},{"PRN":23,"el":22,"az":310,"ss":0,"used":false},{"PRN":10,"el":5,"az":340,"ss":0,"used":false},{"PRN":202,"el":33,"az":240,"ss":35,"used":true},{"PRN":203,"el":51,"az":201,"ss":37,"used":true},{"PRN":204,"el":35,"az":123,"ss":42,"used":true},{"PRN":201,"el":42,"az":130,"ss":45,"used":false},{"PRN":210,"el":64,"az":323,"ss":0,"used":false},{"PRN":207,"el":64,"az":320,"ss":0,"used":false},{"PRN":206,"el":55,"az":274,"ss":0,"used":false},{"PRN":214,"el":50,"az":284,"ss":0,"used":false},{"PRN":209,"el":44,"az":299,"ss":0,"used":false},{"PRN":208,"el":14,"az":156,"ss":0,"used":false},{"PRN":205,"el":11,"az":258,"ss":0,"used":true},{"PRN":213,"el":8,"az":322,"ss":0,"used":false}]}
+$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.928,"epy":1129.908,"epv":112.700,"track":4.9400,"speed":0.154}
+$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.928,"epy":1129.908,"epv":112.700,"track":4.9400,"speed":0.134,"climb":33.800,"eps":2259.82,"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.928,"epy":1129.908,"epv":41.400,"track":4.9400,"speed":0.165,"climb":2.200,"eps":2259.82,"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.928,"epy":1129.908,"epv":41.400,"track":4.9400,"speed":0.129,"climb":5.600,"eps":2259.82,"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.928,"epy":1129.908,"epv":41.400,"track":4.9400,"speed":0.118,"climb":-2.100,"eps":2259.82,"epc":82.80}
+$PSRF151,3,1833,28693,0x7EFFD7FF*67
diff --git a/test/daemon/sl869.log b/test/daemon/sl869.log
index 7c9e829f..de96b4fd 100644
--- a/test/daemon/sl869.log
+++ b/test/daemon/sl869.log
@@ -5,6 +5,7 @@
# Submitter = Arn <arnerro@gmail.com>
# Location = Sydney, NSW, AU, -33.68 151.29
# type = device
+# Notes: Contains skyview sentences from QZSS.
$GPTXT,TELIT SW Version: SL869 v3.1.2.1 -STD -N96
$GPRMC,102136.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79
$GPGGA,102136.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*41
diff --git a/test/daemon/sl869.log.chk b/test/daemon/sl869.log.chk
index 498d8369..cbc07695 100644
--- a/test/daemon/sl869.log.chk
+++ b/test/daemon/sl869.log.chk
@@ -14,6 +14,8 @@ $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":16,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":16,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102137.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78
$GPGGA,102137.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*40
$GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19
@@ -28,6 +30,8 @@ $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":16,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":16,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102138.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77
$GPGGA,102138.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4F
$GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19
@@ -42,6 +46,8 @@ $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":16,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":16,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102139.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76
$GPGGA,102139.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4E
$GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19
@@ -56,6 +62,8 @@ $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,,78,51,239,*67
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102140.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78
$GPGGA,102140.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*40
$GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19
@@ -70,6 +78,8 @@ $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102141.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79
$GPGGA,102141.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*41
$GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19
@@ -84,6 +94,8 @@ $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":43,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":21,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":43,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":39,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":38,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":21,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":31,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":153,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102142.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A
$GPGGA,102142.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*42
$GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19
@@ -98,6 +110,8 @@ $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,11,142,*69
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102143.000,A,3340.7732,S,15117.4478,E,6.7,155.1,251112,0.0,W*6E
{"class":"TPV","mode":2,"time":"2012-11-25T10:21:43.000Z","ept":0.005,"lat":-33.679553333,"lon":151.290796667,"track":155.1000,"speed":3.447}
$GPGGA,102143.000,3340.7732,S,15117.4478,E,1,03,4.1,063.76,M,22.4,M,,*7B
@@ -111,6 +125,8 @@ $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,11,142,*69
{"class":"SKY","vdop":1.00,"hdop":4.10,"pdop":4.20,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":39,"used":false},{"PRN":17,"el":7,"az":105,"ss":21,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":1.00,"hdop":4.10,"pdop":4.20,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":39,"used":false},{"PRN":17,"el":7,"az":105,"ss":21,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102143.990,A,3340.7753,S,15117.4475,E,6.7,155.8,251112,0.0,W*6D
$GPGGA,102143.990,3340.7753,S,15117.4475,E,1,03,99.0,063.79,M,22.4,M,,*4B
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:43.990Z","ept":0.005,"lat":-33.679588333,"lon":151.290791667,"alt":63.790,"epv":23.000,"track":155.8000,"speed":3.447}
@@ -123,6 +139,8 @@ $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,11,142,*69
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102144.000,A,3340.7753,S,15117.4473,E,6.6,155.8,251112,0.0,W*6D
$GPGGA,102144.000,3340.7753,S,15117.4473,E,1,03,99.0,063.79,M,22.4,M,,*4A
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:44.000Z","ept":0.005,"lat":-33.679588333,"lon":151.290788333,"alt":63.790,"epv":23.000,"track":155.8000,"speed":3.395,"climb":0.000,"epc":4600.00}
@@ -135,6 +153,8 @@ $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,11,142,*69
{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":37,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102145.000,A,3340.8097,S,15117.4692,E,0.3,311.5,251112,0.0,W*6D
$GPGGA,102145.000,3340.8097,S,15117.4692,E,1,05,2.0,077.22,M,22.4,M,,*79
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:45.000Z","ept":0.005,"lat":-33.680161667,"lon":151.291153333,"alt":77.220,"epv":2277.000,"track":311.5000,"speed":0.154}
@@ -147,6 +167,8 @@ $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,11,142,*69
{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":36,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A
+{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":36,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102146.000,A,3340.8150,S,15117.4708,E,0.2,0.0,251112,0.0,W*61
$GPGGA,102146.000,3340.8150,S,15117.4708,E,1,05,2.0,080.46,M,22.4,M,,*78
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:46.000Z","ept":0.005,"lat":-33.680250000,"lon":151.291180000,"alt":80.460,"epv":71.300,"track":0.0000,"speed":0.103}
@@ -159,6 +181,8 @@ $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,239,*62
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69
{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":36,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":14,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F
+{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":36,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":14,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":36,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102147.000,A,3340.8169,S,15117.4716,E,0.1,0.0,251112,0.0,W*66
$GPGGA,102147.000,3340.8169,S,15117.4716,E,1,05,2.0,081.88,M,22.4,M,,*7F
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:47.000Z","ept":0.005,"lat":-33.680281667,"lon":151.291193333,"alt":81.880,"epv":71.300,"track":0.0000,"speed":0.051}
@@ -171,6 +195,8 @@ $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69
{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":35,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":19,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C
+{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":35,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":19,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":35,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102148.020,A,3340.8149,S,15117.4711,E,0.1,0.0,251112,0.0,W*6E
$GPGGA,102148.020,3340.8149,S,15117.4711,E,1,05,2.0,082.56,M,22.4,M,,*77
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:48.020Z","ept":0.005,"lat":-33.680248333,"lon":151.291185000,"alt":82.560,"epv":71.300,"track":0.0000,"speed":0.051}
@@ -183,6 +209,8 @@ $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69
{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":35,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":18,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C
+{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":35,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":18,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":35,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
$GPRMC,102149.000,A,3340.8139,S,15117.4712,E,0.2,0.0,251112,0.0,W*6A
$GPGGA,102149.000,3340.8139,S,15117.4712,E,1,05,2.0,083.12,M,22.4,M,,*71
{"class":"TPV","mode":3,"time":"2012-11-25T10:21:49.000Z","ept":0.005,"lat":-33.680231667,"lon":151.291186667,"alt":83.120,"epv":71.300,"track":0.0000,"speed":0.103}
@@ -195,3 +223,5 @@ $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C
$GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,239,*63
$GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69
{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]}
+$QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C
+{"class":"SKY","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":41,"used":false},{"PRN":4,"el":40,"az":133,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false},{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":0,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false},{"PRN":193,"el":34,"az":332,"ss":35,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false},{"PRN":193,"el":0,"az":0,"ss":0,"used":false}]}
diff --git a/test/daemon/ublox-lea-4h.log.chk b/test/daemon/ublox-lea-4h.log.chk
index ccbbf05f..db90a7d8 100644
--- a/test/daemon/ublox-lea-4h.log.chk
+++ b/test/daemon/ublox-lea-4h.log.chk
@@ -109,7 +109,7 @@ $GPGSA,A,3,28,17,09,04,02,24,26,35,05,,,,2.20,1.13,1.89*03
$GPGSV,3,1,12,28,25,097,26,17,62,063,34,09,56,285,30,04,33,148,43*77
$GPGSV,3,2,12,02,09,178,33,24,42,118,35,51,32,160,46,26,11,222,28*7C
$GPGSV,3,3,12,48,33,194,42,29,07,218,23,35,31,205,42,05,22,288,30*7B
-{"class":"SKY","xdop":0.98,"ydop":1.92,"vdop":1.89,"tdop":2.55,"hdop":1.13,"gdop":4.80,"pdop":2.20,"satellites":[{"PRN":28,"el":25,"az":97,"ss":26,"used":true},{"PRN":17,"el":62,"az":63,"ss":34,"used":true},{"PRN":9,"el":56,"az":285,"ss":30,"used":true},{"PRN":4,"el":33,"az":148,"ss":43,"used":true},{"PRN":2,"el":9,"az":178,"ss":33,"used":true},{"PRN":24,"el":42,"az":118,"ss":35,"used":true},{"PRN":138,"el":32,"az":160,"ss":46,"used":false},{"PRN":26,"el":11,"az":222,"ss":28,"used":true},{"PRN":135,"el":33,"az":194,"ss":42,"used":false},{"PRN":29,"el":7,"az":218,"ss":23,"used":false},{"PRN":122,"el":31,"az":205,"ss":42,"used":false},{"PRN":5,"el":22,"az":288,"ss":30,"used":true}]}
+{"class":"SKY","xdop":0.98,"ydop":1.92,"vdop":1.89,"tdop":2.55,"hdop":1.13,"gdop":4.80,"pdop":2.20,"satellites":[{"PRN":28,"el":25,"az":97,"ss":26,"used":true},{"PRN":17,"el":62,"az":63,"ss":34,"used":true},{"PRN":9,"el":56,"az":285,"ss":30,"used":true},{"PRN":4,"el":33,"az":148,"ss":43,"used":true},{"PRN":2,"el":9,"az":178,"ss":33,"used":true},{"PRN":24,"el":42,"az":118,"ss":35,"used":true},{"PRN":138,"el":32,"az":160,"ss":46,"used":false},{"PRN":26,"el":11,"az":222,"ss":28,"used":true},{"PRN":135,"el":33,"az":194,"ss":42,"used":false},{"PRN":29,"el":7,"az":218,"ss":23,"used":false},{"PRN":122,"el":31,"az":205,"ss":42,"used":true},{"PRN":5,"el":22,"az":288,"ss":30,"used":true}]}
$GPGLL,4907.56801,N,12242.61073,W,031516.00,A,A*7F
{"class":"TPV","mode":3,"time":"2006-08-10T03:15:16.000Z","ept":0.005,"lat":49.126133500,"lon":-122.710178833,"alt":99.100,"epx":14.642,"epy":28.806,"epv":79.350,"track":39.1400,"speed":0.043,"climb":0.000,"eps":0.19}
$GPZDA,031516.00,10,08,2006,00,00*6B
@@ -120,7 +120,7 @@ $GPGSA,A,3,28,17,09,04,02,24,26,35,05,,,,2.20,1.13,1.89*03
$GPGSV,3,1,12,28,25,097,26,17,62,063,35,09,56,285,30,04,33,148,43*76
$GPGSV,3,2,12,02,09,178,33,24,42,118,35,51,32,160,45,26,11,222,28*7F
$GPGSV,3,3,12,48,33,194,42,29,07,218,23,35,31,205,41,05,22,288,30*78
-{"class":"SKY","xdop":0.98,"ydop":1.92,"vdop":1.89,"tdop":2.55,"hdop":1.13,"gdop":4.80,"pdop":2.20,"satellites":[{"PRN":28,"el":25,"az":97,"ss":26,"used":true},{"PRN":17,"el":62,"az":63,"ss":35,"used":true},{"PRN":9,"el":56,"az":285,"ss":30,"used":true},{"PRN":4,"el":33,"az":148,"ss":43,"used":true},{"PRN":2,"el":9,"az":178,"ss":33,"used":true},{"PRN":24,"el":42,"az":118,"ss":35,"used":true},{"PRN":138,"el":32,"az":160,"ss":45,"used":false},{"PRN":26,"el":11,"az":222,"ss":28,"used":true},{"PRN":135,"el":33,"az":194,"ss":42,"used":false},{"PRN":29,"el":7,"az":218,"ss":23,"used":false},{"PRN":122,"el":31,"az":205,"ss":41,"used":false},{"PRN":5,"el":22,"az":288,"ss":30,"used":true}]}
+{"class":"SKY","xdop":0.98,"ydop":1.92,"vdop":1.89,"tdop":2.55,"hdop":1.13,"gdop":4.80,"pdop":2.20,"satellites":[{"PRN":28,"el":25,"az":97,"ss":26,"used":true},{"PRN":17,"el":62,"az":63,"ss":35,"used":true},{"PRN":9,"el":56,"az":285,"ss":30,"used":true},{"PRN":4,"el":33,"az":148,"ss":43,"used":true},{"PRN":2,"el":9,"az":178,"ss":33,"used":true},{"PRN":24,"el":42,"az":118,"ss":35,"used":true},{"PRN":138,"el":32,"az":160,"ss":45,"used":false},{"PRN":26,"el":11,"az":222,"ss":28,"used":true},{"PRN":135,"el":33,"az":194,"ss":42,"used":false},{"PRN":29,"el":7,"az":218,"ss":23,"used":false},{"PRN":122,"el":31,"az":205,"ss":41,"used":true},{"PRN":5,"el":22,"az":288,"ss":30,"used":true}]}
$GPGLL,4907.56809,N,12242.61069,W,031517.00,A,A*7D
{"class":"TPV","mode":3,"time":"2006-08-10T03:15:17.000Z","ept":0.005,"lat":49.126134833,"lon":-122.710178167,"alt":98.800,"epx":14.642,"epy":28.806,"epv":43.470,"track":39.3700,"speed":0.043,"climb":0.000,"eps":57.61}
$GPZDA,031517.00,10,08,2006,00,00*6A
@@ -132,6 +132,6 @@ $GPGSV,4,1,13,28,25,097,26,17,62,063,35,09,56,285,29,04,33,148,43*78
$GPGSV,4,2,13,02,09,178,33,24,42,118,35,51,32,160,46,47,11,246,*75
$GPGSV,4,3,13,26,11,222,28,48,33,194,41,29,07,218,23,35,31,205,41*75
$GPGSV,4,4,13,05,22,288,30*4F
-{"class":"SKY","xdop":0.98,"ydop":1.92,"vdop":1.89,"tdop":2.55,"hdop":1.13,"gdop":4.80,"pdop":2.20,"satellites":[{"PRN":28,"el":25,"az":97,"ss":26,"used":true},{"PRN":17,"el":62,"az":63,"ss":35,"used":true},{"PRN":9,"el":56,"az":285,"ss":29,"used":true},{"PRN":4,"el":33,"az":148,"ss":43,"used":true},{"PRN":2,"el":9,"az":178,"ss":33,"used":true},{"PRN":24,"el":42,"az":118,"ss":35,"used":true},{"PRN":138,"el":32,"az":160,"ss":46,"used":false},{"PRN":134,"el":11,"az":246,"ss":0,"used":false},{"PRN":26,"el":11,"az":222,"ss":28,"used":true},{"PRN":135,"el":33,"az":194,"ss":41,"used":false},{"PRN":29,"el":7,"az":218,"ss":23,"used":false},{"PRN":122,"el":31,"az":205,"ss":41,"used":false},{"PRN":5,"el":22,"az":288,"ss":30,"used":true}]}
+{"class":"SKY","xdop":0.98,"ydop":1.92,"vdop":1.89,"tdop":2.55,"hdop":1.13,"gdop":4.80,"pdop":2.20,"satellites":[{"PRN":28,"el":25,"az":97,"ss":26,"used":true},{"PRN":17,"el":62,"az":63,"ss":35,"used":true},{"PRN":9,"el":56,"az":285,"ss":29,"used":true},{"PRN":4,"el":33,"az":148,"ss":43,"used":true},{"PRN":2,"el":9,"az":178,"ss":33,"used":true},{"PRN":24,"el":42,"az":118,"ss":35,"used":true},{"PRN":138,"el":32,"az":160,"ss":46,"used":false},{"PRN":134,"el":11,"az":246,"ss":0,"used":false},{"PRN":26,"el":11,"az":222,"ss":28,"used":true},{"PRN":135,"el":33,"az":194,"ss":41,"used":false},{"PRN":29,"el":7,"az":218,"ss":23,"used":false},{"PRN":122,"el":31,"az":205,"ss":41,"used":true},{"PRN":5,"el":22,"az":288,"ss":30,"used":true}]}
$GPGLL,4907.56818,N,12242.61064,W,031518.00,A,A*7F
{"class":"TPV","mode":3,"time":"2006-08-10T03:15:18.000Z","ept":0.005,"lat":49.126136333,"lon":-122.710177333,"alt":98.500,"epx":14.642,"epy":28.806,"epv":43.470,"track":39.5800,"speed":0.043,"climb":0.000,"eps":57.61}