summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--test/daemon/ac12_binary.log (renamed from test/unstable/ac12_binary.log)bin25671 -> 25671 bytes
-rw-r--r--test/daemon/ac12_binary.log.chk376
-rw-r--r--test/daemon/uBlox-aek-4t.log (renamed from test/unstable/uBlox-aek-4t.log)bin14593 -> 14593 bytes
-rw-r--r--test/daemon/uBlox-aek-4t.log.chk70
-rw-r--r--www/excellence.html8
6 files changed, 451 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index a8325a57..eff500fe 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-* Thu Nov 19 2009 Eric S. Raymond <esr@snark.thyrsus.com> - 2.90dev
+* Fri Dec 4 2009 Eric S. Raymond <esr@snark.thyrsus.com> - 2.90
GPSD-NG, the new JSON-based command protocol, is now deployed; as a
consequence, AIS is now fully supported in both daemon and client.
Detection of end of a fix-reporting cycle is now reliable;
diff --git a/test/unstable/ac12_binary.log b/test/daemon/ac12_binary.log
index 53a49e95..53a49e95 100644
--- a/test/unstable/ac12_binary.log
+++ b/test/daemon/ac12_binary.log
Binary files differ
diff --git a/test/daemon/ac12_binary.log.chk b/test/daemon/ac12_binary.log.chk
new file mode 100644
index 00000000..04d2476f
--- /dev/null
+++ b/test/daemon/ac12_binary.log.chk
@@ -0,0 +1,376 @@
+$GPZDA,183531.00,23,12,2007,00,00*6C
+$GPGGA,183530.00,2037.76012,N,08704.07373,W,1,03,2.2,072.35,M,-13.9,M,,*6B
+{"class":"TPV","tag":"GGA","time":1198434930.000,"ept":0.005,"lat":20.629335333,"lon":-87.067895500,"alt":72.350,"mode":3}
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,50,02,55,274,50,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":50,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183530.00,2037.76012,N,08704.07373,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*20
+$GPRMC,183530.00,A,2037.7601,N,08704.0737,W,00.0,359.4,231207,01,W,A*26
+{"class":"TPV","tag":"RMC","time":1198434930.000,"ept":0.005,"lat":20.629335000,"lon":-87.067895000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,50,U,02,274,55,50,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":50,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183532.00,23,12,2007,00,00*6F
+$GPGGA,183531.00,2037.76011,N,08704.07369,W,1,03,2.2,072.35,M,-13.9,M,,*62
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,50,02,55,274,50,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":50,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183531.00,2037.76011,N,08704.07369,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*29
+$GPRMC,183531.00,A,2037.7601,N,08704.0737,W,00.0,359.4,231207,01,W,A*27
+{"class":"TPV","tag":"RMC","time":1198434931.000,"ept":0.005,"lat":20.629335000,"lon":-87.067895000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,50,U,02,274,55,50,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":50,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183533.00,23,12,2007,00,00*6E
+$GPGGA,183532.00,2037.76010,N,08704.07366,W,1,03,2.2,072.35,M,-13.9,M,,*6F
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,50,04,61,358,*78
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183532.00,2037.76010,N,08704.07366,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*24
+$GPRMC,183532.00,A,2037.7601,N,08704.0737,W,00.0,359.4,231207,01,W,A*24
+{"class":"TPV","tag":"RMC","time":1198434932.000,"ept":0.005,"lat":20.629335000,"lon":-87.067895000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183534.00,23,12,2007,00,00*69
+$GPGGA,183533.00,2037.76009,N,08704.07361,W,1,03,2.2,072.35,M,-13.9,M,,*61
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,50,04,61,358,*78
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183533.00,2037.76009,N,08704.07361,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2A
+$GPRMC,183533.00,A,2037.7601,N,08704.0736,W,00.0,359.4,231207,01,W,A*24
+{"class":"TPV","tag":"RMC","time":1198434933.000,"ept":0.005,"lat":20.629335000,"lon":-87.067893333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183535.00,23,12,2007,00,00*68
+$GPGGA,183534.00,2037.76008,N,08704.07358,W,1,03,2.2,072.35,M,-13.9,M,,*6D
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,50,04,61,358,*78
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183534.00,2037.76008,N,08704.07358,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*26
+$GPRMC,183534.00,A,2037.7601,N,08704.0736,W,00.0,359.4,231207,01,W,A*23
+{"class":"TPV","tag":"RMC","time":1198434934.000,"ept":0.005,"lat":20.629335000,"lon":-87.067893333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183536.00,23,12,2007,00,00*6B
+$GPGGA,183535.00,2037.76007,N,08704.07354,W,1,03,2.2,072.35,M,-13.9,M,,*6F
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,50,04,61,358,*78
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183535.00,2037.76007,N,08704.07354,W,058.48,,359.4,000.1,+000.0,2.2,2.2,0.0,1.0,BQ00*25
+$GPRMC,183535.00,A,2037.7601,N,08704.0735,W,00.0,359.4,231207,01,W,A*21
+{"class":"TPV","tag":"RMC","time":1198434935.000,"ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183537.00,23,12,2007,00,00*6A
+$GPGGA,183536.00,2037.76007,N,08704.07352,W,1,03,2.2,072.35,M,-13.9,M,,*6A
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,50,04,61,358,*78
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183536.00,2037.76007,N,08704.07352,W,058.48,,359.4,000.1,+000.0,2.2,2.2,0.0,1.0,BQ00*20
+$GPRMC,183536.00,A,2037.7601,N,08704.0735,W,00.0,359.4,231207,01,W,A*22
+{"class":"TPV","tag":"RMC","time":1198434936.000,"ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183538.00,23,12,2007,00,00*65
+$GPGGA,183537.00,2037.76008,N,08704.07348,W,1,03,2.2,072.35,M,-13.9,M,,*6F
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,50,04,61,358,*78
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183537.00,2037.76008,N,08704.07348,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*24
+$GPRMC,183537.00,A,2037.7601,N,08704.0735,W,00.0,359.4,231207,01,W,A*23
+{"class":"TPV","tag":"RMC","time":1198434937.000,"ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183539.00,23,12,2007,00,00*64
+$GPGGA,183538.00,2037.76007,N,08704.07346,W,1,03,2.2,072.35,M,-13.9,M,,*61
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,50,04,61,358,*79
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183538.00,2037.76007,N,08704.07346,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2A
+$GPRMC,183538.00,A,2037.7601,N,08704.0735,W,00.0,359.4,231207,01,W,A*2C
+{"class":"TPV","tag":"RMC","time":1198434938.000,"ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,50,U*5A
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":50,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183540.00,23,12,2007,00,00*6A
+$GPGGA,183539.00,2037.76007,N,08704.07346,W,1,03,2.2,072.35,M,-13.9,M,,*60
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,49,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183539.00,2037.76007,N,08704.07346,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2B
+$GPRMC,183539.00,A,2037.7601,N,08704.0735,W,00.0,359.4,231207,01,W,A*2D
+{"class":"TPV","tag":"RMC","time":1198434939.000,"ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183541.00,23,12,2007,00,00*6B
+$GPGGA,183540.00,2037.76007,N,08704.07345,W,1,03,2.2,072.35,M,-13.9,M,,*6D
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,49,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183540.00,2037.76007,N,08704.07345,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*26
+$GPRMC,183540.00,A,2037.7601,N,08704.0735,W,00.0,359.4,231207,01,W,A*23
+{"class":"TPV","tag":"RMC","time":1198434940.000,"ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183542.00,23,12,2007,00,00*68
+$GPGGA,183541.00,2037.76007,N,08704.07344,W,1,03,2.2,072.35,M,-13.9,M,,*6D
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,49,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183541.00,2037.76007,N,08704.07344,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*26
+$GPRMC,183541.00,A,2037.7601,N,08704.0734,W,00.0,359.4,231207,01,W,A*23
+{"class":"TPV","tag":"RMC","time":1198434941.000,"ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183543.00,23,12,2007,00,00*69
+$GPGGA,183542.00,2037.76008,N,08704.07341,W,1,03,2.2,072.35,M,-13.9,M,,*64
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,49,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183542.00,2037.76008,N,08704.07341,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2F
+$GPRMC,183542.00,A,2037.7601,N,08704.0734,W,00.0,359.4,231207,01,W,A*20
+{"class":"TPV","tag":"RMC","time":1198434942.000,"ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183544.00,23,12,2007,00,00*6E
+$GPGGA,183543.00,2037.76008,N,08704.07338,W,1,03,2.2,072.35,M,-13.9,M,,*6B
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,49,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,38,35,45,118,*7B
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":38,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183543.00,2037.76008,N,08704.07338,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*20
+$GPRMC,183543.00,A,2037.7601,N,08704.0734,W,00.0,359.4,231207,01,W,A*21
+{"class":"TPV","tag":"RMC","time":1198434943.000,"ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,04,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U,33,096,08,38,-*68
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":33,"el":8,"az":96,"ss":38,"used":false}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183545.00,23,12,2007,00,00*6F
+$GPGGA,183544.00,2037.76007,N,08704.07336,W,1,03,2.2,072.35,M,-13.9,M,,*6D
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183544.00,2037.76007,N,08704.07336,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*26
+$GPRMC,183544.00,A,2037.7601,N,08704.0734,W,00.0,359.4,231207,01,W,A*26
+{"class":"TPV","tag":"RMC","time":1198434944.000,"ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183546.00,23,12,2007,00,00*6C
+$GPGGA,183545.00,2037.76009,N,08704.07331,W,1,03,2.2,072.35,M,-13.9,M,,*65
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183545.00,2037.76009,N,08704.07331,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2E
+$GPRMC,183545.00,A,2037.7601,N,08704.0733,W,00.0,359.4,231207,01,W,A*20
+{"class":"TPV","tag":"RMC","time":1198434945.000,"ept":0.005,"lat":20.629335000,"lon":-87.067888333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183547.00,23,12,2007,00,00*6D
+$GPGGA,183546.00,2037.76010,N,08704.07326,W,1,03,2.2,072.35,M,-13.9,M,,*68
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183546.00,2037.76010,N,08704.07326,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*23
+$GPRMC,183546.00,A,2037.7601,N,08704.0733,W,00.0,359.4,231207,01,W,A*23
+{"class":"TPV","tag":"RMC","time":1198434946.000,"ept":0.005,"lat":20.629335000,"lon":-87.067888333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183548.00,23,12,2007,00,00*62
+$GPGGA,183547.00,2037.76009,N,08704.07322,W,1,03,2.2,072.35,M,-13.9,M,,*65
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183547.00,2037.76009,N,08704.07322,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2E
+$GPRMC,183547.00,A,2037.7601,N,08704.0732,W,00.0,359.4,231207,01,W,A*23
+{"class":"TPV","tag":"RMC","time":1198434947.000,"ept":0.005,"lat":20.629335000,"lon":-87.067886667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183549.00,23,12,2007,00,00*63
+$GPGGA,183548.00,2037.76009,N,08704.07316,W,1,03,2.2,072.35,M,-13.9,M,,*6D
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183548.00,2037.76009,N,08704.07316,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*26
+$GPRMC,183548.00,A,2037.7601,N,08704.0732,W,00.0,359.4,231207,01,W,A*2C
+{"class":"TPV","tag":"RMC","time":1198434948.000,"ept":0.005,"lat":20.629335000,"lon":-87.067886667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183550.00,23,12,2007,00,00*6B
+$GPGGA,183549.00,2037.76009,N,08704.07311,W,1,03,2.2,072.35,M,-13.9,M,,*6B
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183549.00,2037.76009,N,08704.07311,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*20
+$GPRMC,183549.00,A,2037.7601,N,08704.0731,W,00.0,359.4,231207,01,W,A*2E
+{"class":"TPV","tag":"RMC","time":1198434949.000,"ept":0.005,"lat":20.629335000,"lon":-87.067885000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183551.00,23,12,2007,00,00*6A
+$GPGGA,183550.00,2037.76009,N,08704.07307,W,1,03,2.2,072.35,M,-13.9,M,,*64
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183550.00,2037.76009,N,08704.07307,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2F
+$GPRMC,183550.00,A,2037.7601,N,08704.0731,W,00.0,359.4,231207,01,W,A*26
+{"class":"TPV","tag":"RMC","time":1198434950.000,"ept":0.005,"lat":20.629335000,"lon":-87.067885000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183552.00,23,12,2007,00,00*69
+$GPGGA,183551.00,2037.76010,N,08704.07302,W,1,03,2.2,072.35,M,-13.9,M,,*68
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183551.00,2037.76010,N,08704.07302,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*23
+$GPRMC,183551.00,A,2037.7601,N,08704.0730,W,00.0,359.4,231207,01,W,A*26
+{"class":"TPV","tag":"RMC","time":1198434951.000,"ept":0.005,"lat":20.629335000,"lon":-87.067883333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183553.00,23,12,2007,00,00*68
+$GPGGA,183552.00,2037.76011,N,08704.07296,W,1,03,2.2,072.35,M,-13.9,M,,*66
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183552.00,2037.76011,N,08704.07296,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2D
+$GPRMC,183552.00,A,2037.7601,N,08704.0730,W,00.0,359.4,231207,01,W,A*25
+{"class":"TPV","tag":"RMC","time":1198434952.000,"ept":0.005,"lat":20.629335000,"lon":-87.067883333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183554.00,23,12,2007,00,00*6F
+$GPGGA,183553.00,2037.76011,N,08704.07292,W,1,03,2.2,072.35,M,-13.9,M,,*63
+$GPGSA,A,2,02,10,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183553.00,2037.76011,N,08704.07292,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*28
+$GPRMC,183553.00,A,2037.7601,N,08704.0729,W,00.0,359.4,231207,01,W,A*2C
+{"class":"TPV","tag":"RMC","time":1198434953.000,"ept":0.005,"lat":20.629335000,"lon":-87.067881667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,46,10,17,193,49,02,55,274,49,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183555.00,2037.76015,N,08704.07279,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2F
+$GPRMC,183555.00,A,2037.7602,N,08704.0728,W,00.0,359.4,231207,01,W,A*28
+{"class":"TPV","tag":"RMC","time":1198434955.000,"ept":0.005,"lat":20.629336667,"lon":-87.067880000,"track":359.4000,"speed":0.000,"mode":2}
+$PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":46,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183557.00,23,12,2007,00,00*6C
+$GPGGA,183556.00,2037.76018,N,08704.07277,W,1,03,2.2,072.35,M,-13.9,M,,*64
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,49,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183556.00,2037.76018,N,08704.07277,W,058.48,,359.4,000.1,+000.0,2.2,2.2,0.0,1.0,BQ00*2E
+$GPRMC,183556.00,A,2037.7602,N,08704.0728,W,00.0,359.4,231207,01,W,A*2B
+{"class":"TPV","tag":"RMC","time":1198434956.000,"ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":49,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183558.00,23,12,2007,00,00*63
+$GPGGA,183557.00,2037.76019,N,08704.07277,W,1,03,2.2,072.35,M,-13.9,M,,*64
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,48,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":48,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183557.00,2037.76019,N,08704.07277,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*2F
+$GPRMC,183557.00,A,2037.7602,N,08704.0728,W,00.0,359.4,231207,01,W,A*2A
+{"class":"TPV","tag":"RMC","time":1198434957.000,"ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,48,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":48,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183559.00,23,12,2007,00,00*62
+$GPGGA,183558.00,2037.76022,N,08704.07278,W,1,03,2.2,072.35,M,-13.9,M,,*6C
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,49,02,55,274,48,04,61,358,*70
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":48,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183558.00,2037.76022,N,08704.07278,W,058.48,,359.4,000.1,+000.0,2.2,2.2,0.0,1.0,BQ00*26
+$GPRMC,183558.00,A,2037.7602,N,08704.0728,W,00.0,359.4,231207,01,W,A*25
+{"class":"TPV","tag":"RMC","time":1198434958.000,"ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,48,U*53
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":49,"used":true},{"PRN":2,"el":55,"az":274,"ss":48,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
+$GPZDA,183600.00,23,12,2007,00,00*6D
+$GPGGA,183559.00,2037.76024,N,08704.07278,W,1,03,2.2,072.35,M,-13.9,M,,*6B
+$GPGSA,A,2,10,02,28,,,,,,,,,,02.2,02.2,*14
+$GPGSV,3,1,10,28,38,139,47,10,17,193,48,02,55,274,48,04,61,358,*71
+$GPGSV,3,2,10,17,38,054,,09,21,281,,12,10,322,,20,03,038,*7F
+$GPGSV,3,3,10,33,08,096,,35,45,118,*70
+{"class":"SKY","tag":"GSV","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":48,"used":true},{"PRN":2,"el":55,"az":274,"ss":48,"used":true},{"PRN":4,"el":61,"az":358,"ss":0,"used":false},{"PRN":17,"el":38,"az":54,"ss":0,"used":false},{"PRN":9,"el":21,"az":281,"ss":0,"used":false},{"PRN":12,"el":10,"az":322,"ss":0,"used":false},{"PRN":20,"el":3,"az":38,"ss":0,"used":false},{"PRN":33,"el":8,"az":96,"ss":0,"used":false},{"PRN":35,"el":45,"az":118,"ss":0,"used":false}]}
+$PASHR,POS,0,03,183559.00,2037.76024,N,08704.07278,W,058.48,,359.4,000.0,+000.0,2.2,2.2,0.0,1.0,BQ00*20
+$GPRMC,183559.00,A,2037.7602,N,08704.0728,W,00.0,359.4,231207,01,W,A*24
+{"class":"TPV","tag":"RMC","time":1198434959.000,"ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000,"mode":3}
+$PASHR,SAT,03,28,139,38,47,U,10,193,17,48,U,02,274,55,48,U*52
+{"class":"SKY","tag":"PASHR","vdop":0.00,"hdop":2.20,"pdop":2.20,"satellites":[{"PRN":28,"el":38,"az":139,"ss":47,"used":true},{"PRN":10,"el":17,"az":193,"ss":48,"used":true},{"PRN":2,"el":55,"az":274,"ss":48,"used":true}]}
+$PASHR,XMG,12,Solution valid*4A
diff --git a/test/unstable/uBlox-aek-4t.log b/test/daemon/uBlox-aek-4t.log
index da771d61..da771d61 100644
--- a/test/unstable/uBlox-aek-4t.log
+++ b/test/daemon/uBlox-aek-4t.log
Binary files differ
diff --git a/test/daemon/uBlox-aek-4t.log.chk b/test/daemon/uBlox-aek-4t.log.chk
new file mode 100644
index 00000000..fb8a97b0
--- /dev/null
+++ b/test/daemon/uBlox-aek-4t.log.chk
@@ -0,0 +1,70 @@
+$GPGGA,231122,2037.7569,N,08704.0845,W,2,07,,75.78,M,-13.865,M,,*5B
+$GPRMC,231122,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*32
+$GPGSA,A,3,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.0,0.0,0.0*32
+{"class":"TPV","tag":"0x0106","time":1198451482.999,"ept":0.005,"lat":20.629282025,"lon":-87.068075525,"alt":75.777,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,32,02,21,089,31,30,21,234,50,05,18,217,40*7C
+$GPGSV,2,2,08,12,16,201,41,18,25,255,41,135,33,251,45,06,54,308,24*40
+{"class":"SKY","tag":"0x0130","vdop":2.00,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":32,"used":true},{"PRN":2,"el":21,"az":89,"ss":31,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":40,"used":true},{"PRN":12,"el":16,"az":201,"ss":41,"used":true},{"PRN":18,"el":25,"az":255,"ss":41,"used":true},{"PRN":135,"el":33,"az":251,"ss":45,"used":true},{"PRN":6,"el":54,"az":308,"ss":24,"used":false}]}
+$GPGGA,231124,2037.7569,N,08704.0845,W,2,07,1.67,75.76,M,-13.865,M,,*4D
+$GPRMC,231124,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*34
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451484.999,"ept":0.005,"lat":20.629281973,"lon":-87.068075520,"alt":75.764,"epv":11.500,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,32,02,21,089,32,30,21,234,50,05,18,217,40*7F
+$GPGSV,2,2,08,12,16,201,41,18,25,255,41,135,33,251,45,06,54,308,25*41
+{"class":"SKY","tag":"0x0130","vdop":1.99,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":32,"used":true},{"PRN":2,"el":21,"az":89,"ss":32,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":40,"used":true},{"PRN":12,"el":16,"az":201,"ss":41,"used":true},{"PRN":18,"el":25,"az":255,"ss":41,"used":true},{"PRN":135,"el":33,"az":251,"ss":45,"used":true},{"PRN":6,"el":54,"az":308,"ss":25,"used":false}]}
+$GPGGA,231125,2037.7569,N,08704.0845,W,2,07,1.67,75.76,M,-13.865,M,,*4C
+$GPRMC,231125,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*35
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451485.999,"ept":0.005,"lat":20.629281802,"lon":-87.068075424,"alt":75.757,"epv":11.443,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,33,02,21,089,33,30,21,234,50,05,18,217,40*7F
+$GPGSV,2,2,08,12,16,201,41,18,25,255,41,135,33,251,45,06,54,308,24*40
+{"class":"SKY","tag":"0x0130","vdop":1.99,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":33,"used":true},{"PRN":2,"el":21,"az":89,"ss":33,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":40,"used":true},{"PRN":12,"el":16,"az":201,"ss":41,"used":true},{"PRN":18,"el":25,"az":255,"ss":41,"used":true},{"PRN":135,"el":33,"az":251,"ss":45,"used":true},{"PRN":6,"el":54,"az":308,"ss":24,"used":false}]}
+$GPGGA,231126,2037.7569,N,08704.0845,W,2,07,1.67,75.75,M,-13.865,M,,*4C
+$GPRMC,231126,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*36
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451486.999,"ept":0.005,"lat":20.629281717,"lon":-87.068075424,"alt":75.754,"epv":11.443,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,32,02,21,089,32,30,21,234,50,05,18,217,40*7F
+$GPGSV,2,2,08,12,16,201,42,18,25,255,42,135,33,251,44,06,54,308,24*41
+{"class":"SKY","tag":"0x0130","vdop":2.00,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":32,"used":true},{"PRN":2,"el":21,"az":89,"ss":32,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":40,"used":true},{"PRN":12,"el":16,"az":201,"ss":42,"used":true},{"PRN":18,"el":25,"az":255,"ss":42,"used":true},{"PRN":135,"el":33,"az":251,"ss":44,"used":true},{"PRN":6,"el":54,"az":308,"ss":24,"used":false}]}
+$GPGGA,231127,2037.7569,N,08704.0845,W,2,07,1.67,75.74,M,-13.865,M,,*4C
+$GPRMC,231127,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*37
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451487.999,"ept":0.005,"lat":20.629281663,"lon":-87.068075323,"alt":75.741,"epv":11.500,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,31,02,21,089,32,30,21,234,50,05,18,217,39*72
+$GPGSV,2,2,08,12,16,201,41,18,25,255,41,135,33,251,45,06,54,308,25*41
+{"class":"SKY","tag":"0x0130","vdop":1.99,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":31,"used":true},{"PRN":2,"el":21,"az":89,"ss":32,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":39,"used":true},{"PRN":12,"el":16,"az":201,"ss":41,"used":true},{"PRN":18,"el":25,"az":255,"ss":41,"used":true},{"PRN":135,"el":33,"az":251,"ss":45,"used":true},{"PRN":6,"el":54,"az":308,"ss":25,"used":false}]}
+$GPGGA,231128,2037.7569,N,08704.0845,W,2,07,1.67,75.73,M,-13.865,M,,*44
+$GPRMC,231128,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*38
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451488.999,"ept":0.005,"lat":20.629281494,"lon":-87.068075323,"alt":75.734,"epv":11.443,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,30,02,21,089,31,30,21,234,50,05,18,217,39*70
+$GPGSV,2,2,08,12,16,201,41,18,25,255,40,135,33,251,44,06,54,308,25*41
+{"class":"SKY","tag":"0x0130","vdop":1.99,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":30,"used":true},{"PRN":2,"el":21,"az":89,"ss":31,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":39,"used":true},{"PRN":12,"el":16,"az":201,"ss":41,"used":true},{"PRN":18,"el":25,"az":255,"ss":40,"used":true},{"PRN":135,"el":33,"az":251,"ss":44,"used":true},{"PRN":6,"el":54,"az":308,"ss":25,"used":false}]}
+$GPGGA,231129,2037.7569,N,08704.0845,W,2,07,1.67,75.72,M,-13.865,M,,*44
+$GPRMC,231129,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*39
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451489.999,"ept":0.005,"lat":20.629281440,"lon":-87.068075223,"alt":75.722,"epv":11.443,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,29,02,21,089,30,30,21,234,50,05,18,217,39*79
+$GPGSV,2,2,08,12,16,201,42,18,25,255,40,135,33,251,44,06,54,308,25*42
+{"class":"SKY","tag":"0x0130","vdop":1.99,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":29,"used":true},{"PRN":2,"el":21,"az":89,"ss":30,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":39,"used":true},{"PRN":12,"el":16,"az":201,"ss":42,"used":true},{"PRN":18,"el":25,"az":255,"ss":40,"used":true},{"PRN":135,"el":33,"az":251,"ss":44,"used":true},{"PRN":6,"el":54,"az":308,"ss":25,"used":false}]}
+$GPGGA,231130,2037.7569,N,08704.0845,W,2,07,1.67,75.72,M,-13.865,M,,*4C
+$GPRMC,231130,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*31
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451490.999,"ept":0.005,"lat":20.629281353,"lon":-87.068075127,"alt":75.719,"epv":11.443,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,29,02,21,089,29,30,21,234,50,05,18,217,39*71
+$GPGSV,2,2,08,12,16,201,42,18,25,255,39,135,33,251,44,06,54,308,25*4C
+{"class":"SKY","tag":"0x0130","vdop":2.00,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":29,"used":true},{"PRN":2,"el":21,"az":89,"ss":29,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":39,"used":true},{"PRN":12,"el":16,"az":201,"ss":42,"used":true},{"PRN":18,"el":25,"az":255,"ss":39,"used":true},{"PRN":135,"el":33,"az":251,"ss":44,"used":true},{"PRN":6,"el":54,"az":308,"ss":25,"used":false}]}
+$GPGGA,231131,2037.7569,N,08704.0845,W,2,07,1.67,75.72,M,-13.865,M,,*4D
+$GPRMC,231131,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*30
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451491.999,"ept":0.005,"lat":20.629281269,"lon":-87.068075127,"alt":75.715,"epv":11.500,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,28,02,21,089,29,30,21,234,50,05,18,217,39*70
+$GPGSV,2,2,08,12,16,201,42,18,25,255,39,135,33,251,45,06,54,308,25*4D
+{"class":"SKY","tag":"0x0130","vdop":1.99,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":28,"used":true},{"PRN":2,"el":21,"az":89,"ss":29,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":39,"used":true},{"PRN":12,"el":16,"az":201,"ss":42,"used":true},{"PRN":18,"el":25,"az":255,"ss":39,"used":true},{"PRN":135,"el":33,"az":251,"ss":45,"used":true},{"PRN":6,"el":54,"az":308,"ss":25,"used":false}]}
+$GPGGA,231132,2037.7569,N,08704.0845,W,2,07,1.67,75.70,M,-13.865,M,,*4C
+$GPRMC,231132,A,2037.7569,N,08704.0845,W,0.0000,0.000,231207,,*33
+$GPGSA,A,3,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,2.6,1.7,2.0*32
+{"class":"TPV","tag":"0x0106","time":1198451492.999,"ept":0.005,"lat":20.629281214,"lon":-87.068075026,"alt":75.703,"epv":11.443,"track":0.0000,"speed":0.000,"climb":0.000,"mode":3}
+$GPGSV,2,1,08,15,67,141,27,02,21,089,28,30,21,234,50,05,18,217,39*7E
+$GPGSV,2,2,08,12,16,201,42,18,25,255,39,135,33,251,44,06,54,308,26*4F
+{"class":"SKY","tag":"0x0130","vdop":2.00,"tdop":1.33,"hdop":1.67,"gdop":2.92,"pdop":2.60,"satellites":[{"PRN":15,"el":67,"az":141,"ss":27,"used":true},{"PRN":2,"el":21,"az":89,"ss":28,"used":true},{"PRN":30,"el":21,"az":234,"ss":50,"used":true},{"PRN":5,"el":18,"az":217,"ss":39,"used":true},{"PRN":12,"el":16,"az":201,"ss":42,"used":true},{"PRN":18,"el":25,"az":255,"ss":39,"used":true},{"PRN":135,"el":33,"az":251,"ss":44,"used":true},{"PRN":6,"el":54,"az":308,"ss":26,"used":false}]}
diff --git a/www/excellence.html b/www/excellence.html
index f1bcfb9b..550c326d 100644
--- a/www/excellence.html
+++ b/www/excellence.html
@@ -138,8 +138,8 @@ practice that extends all the way up from our development habits to
the zero-configuration design of the gpsd daemon.</p>
<p>The most important thing we do to ensure code quality is maintain a
-rigorous test suite. Our "make testregress" runs about fifty-five
-regression and unit tests. Forty-four of those exercise the daemon's
+rigorous test suite. Our "make testregress" runs just shy of sixty
+regression and unit tests. Forty-six of those exercise the daemon's
logic for recognizing and processing device reports; the remaining ten
to a dozen exercise the rest of the code, all the way out to the
application service libraries.</p>
@@ -228,8 +228,8 @@ effects of autoconfiguration ripple through dozens of
application-development groups and all the way up the software stack
to the end-user.</p>
-<p>Finally, the RFP for these essays asked software authors to explain
-what they'd do with a $500 prize. That's easy; we'd use it to <a
+<p>The RFP for these essays asked software authors to explain what
+they'd do with a $500 prize. That's easy; we'd use it to <a
href="wishlist.html">buy test hardware</a>. Because GPSes are wacky,
idiosyncratic devices with poorly documented interfaces, testing on
real hardware is vital to fully learn their quirks.</p>